ASP中如何获取当前的星期数

ASP中如何获取当前的星期数,第1张

这个连农历者能显示。代码:<SCRIPT language=JavaScript>

<!--

var bsYear;

var bsDate;

var bsWeek;

var arrLen=8; //数组长度

var sValue=0; //当年的秒数

var dayiy=0; //当年第几天

var miy=0; //月份的下标

var iyear=0; //年份标记

var dayim=0; //当月第几天

var spd=86400; //每天的秒数

var year1999="30;29;29;30;29;29;30;29;30;30;30;29"; //354

var year2000="30;30;29;29;30;29;29;30;29;30;30;29"; //354

var year2001="30;30;29;30;29;30;29;29;30;29;30;29;30"; //384

var year2002="30;30;29;30;29;30;29;29;30;29;30;29"; //354

var year2003="30;30;29;30;30;29;30;29;29;30;29;30"; //355

var year2004="29;30;29;30;30;29;30;29;30;29;30;29;30"; //384

var year2005="29;30;29;30;29;30;30;29;30;29;30;29"; //354

var year2006="30;29;30;29;30;30;29;29;30;30;29;29;30";

var month1999="正月;二月;三月;四月;五月;六月;七月;八月;九月;十月;十一月;十二月"

var month2001="正月;二月;三月;四月;闰四月;五月;六月;七月;八月;九月;十月;十一月;十二月"

var month2004="正月;二月;闰二月;三月;四月;五月;六月;七月;八月;九月;十月;十一月;十二月"

var month2006="正月;二月;三月;四月;五月;六月;七月;闰七月;八月;九月;十月;十一月;十二月"

var Dn="初一;初二;初三;初四;初五;初六;初七;初八;初九;初十;十一;十二;十三;十四;十五;十六;十七;十八;十九;二十;廿一;廿二;廿三;廿四;廿五;廿六;廿七;廿八;廿九;三十";

var Ys=new Array(arrLen);

Ys[0]=919094400;Ys[1]=949680000;Ys[2]=980265600;

Ys[3]=1013443200;Ys[4]=1044028800;Ys[5]=1074700800;

Ys[6]=1107878400;Ys[7]=1138464000;

var Yn=new Array(arrLen); //农历年的名称

Yn[0]="己卯年";Yn[1]="庚辰年";Yn[2]="辛巳年";

Yn[3]="壬午年";Yn[4]="癸未年";Yn[5]="甲申年";

Yn[6]="乙酉年";Yn[7]="丙戌年";

var D=new Date();

var yy=DgetYear();

var mm=DgetMonth()+1;

var dd=DgetDate();

var ww=DgetDay();

if (ww==0) ww="<font color=RED>星期日";

if (ww==1) ww="星期一";

if (ww==2) ww="星期二";

if (ww==3) ww="星期三";

if (ww==4) ww="星期四";

if (ww==5) ww="星期五";

if (ww==6) ww="<font color=RED>星期六";

ww=ww;

var ss=parseInt(DgetTime() / 1000);

if (yy<100) yy="19"+yy;

for (i=0;i<arrLen;i++)

if (ss>=Ys[i]){

iyear=i;

sValue=ss-Ys[i]; //当年的秒数

}

dayiy=parseInt(sValue/spd)+1; //当年的天数

var dpm=year1999;

if (iyear==1) dpm=year2000;

if (iyear==2) dpm=year2001;

if (iyear==3) dpm=year2002;

if (iyear==4) dpm=year2003;

if (iyear==5) dpm=year2004;

if (iyear==6) dpm=year2005;

if (iyear==7) dpm=year2006;

dpm=dpmsplit(";");

var Mn=month1999;

if (iyear==2) Mn=month2001;

if (iyear==5) Mn=month2004;

if (iyear==7) Mn=month2006;

Mn=Mnsplit(";");

var Dn="初一;初二;初三;初四;初五;初六;初七;初八;初九;初十;十一;十二;十三;十四;十五;十六;十七;十八;十九;二十;廿一;廿二;廿三;廿四;廿五;廿六;廿七;廿八;廿九;三十";

Dn=Dnsplit(";");

dayim=dayiy;

var total=new Array(13);

total[0]=parseInt(dpm[0]);

for (i=1;i<dpmlength-1;i++) total[i]=parseInt(dpm[i])+total[i-1];

for (i=dpmlength-1;i>0;i--)

if (dayim>total[i-1]){

dayim=dayim-total[i-1];

miy=i;

}

bsWeek=ww;

bsDate=yy+"年"+mm+"月";

bsDate2=dd;

bsYear="农历"+Yn[iyear];

bsYear2=Mn[miy]+Dn[dayim-1];

if (ss>=Ys[7]||ss<Ys[0]) bsYear=Yn[7];

function CAL(){

documentwrite("<table border='0' cellspacing='0' width='100%' bordercolor='#FFFFFF' cellpadding='0'>");

documentwrite("<tr><td align='center'><span style='FONT-SIZE: 12px'><font color=#666666>"+bsDate+"</font><font color=#666666>"+bsDate2+"日</font></span><font color=#666666><span style='FONT-SIZE: 14px'>");

documentwrite(" ");

documentwrite("<span style='FONT-SIZE: 12px'>"+bsWeek+"</span>"+"</font>");

documentwrite(" ");

documentwrite("<span style='FONT-SIZE: 12px'>"+"农历"+bsYear2+"</td></tr></table>");

}

//-->

</SCRIPT>

调用:<SCRIPT language=javascript>CAL();</SCRIPT>

你说需要计算一个月有多少周,若是指,一月,二月一直到十二月每个月有多少周的话,可以用Java8的新时间API进行计算,因为里面已经封装了每个月了,但由于每一年每个月的周数可能不同,所以必须还需要一个日期,也就是年,因此得到某年某月的某个时间,就可以相应算出这个时间所在月的第一天和最后一天,然后计算这第一天和最后一天相隔多少个周

思路:

获取所有月份的枚举集合A

随意获取一个时间B

循环所有的月份A,把B的月份依次修改为A中的每个月份,得到修改后的时间集合C

循环C中的所有时间,把每个时间都算出该时间的所在月份的第一天和最后一天,并计算周数

打印周数

代码:

// 随意取一个时间,取了当前时间

LocalDate localDate = LocalDatenow();

Systemoutprintln("当前时间为:" + localDate);

// 根据封装好的月份获取一个一月到十二月的Month流,此时流里的对象为Month

Arraysstream(Monthvalues())

      // 把每个month都调整到当前这个时间里,此时流的对象为LocalDate

      map(month -> monthadjustInto(localDate))

      // 这里方便里观察此时流的数据,把转换后的时间打印了出来

      peek(Systemout::println)

      // 根据时间的所在月的第一天和最后一天作为间隔计算周数

      map(temporal -> ChronoUnitWEEKSbetween(temporalwith(TemporalAdjustersfirstDayOfMonth()), temporalwith(TemporalAdjusterslastDayOfMonth())))

      // 打印最后的周数

      forEach(Systemout::println);

<!DOCTYPE HTML>

<html>

<head>

    <meta charset=UTF-8>

    <title>YuGiOh</title>

    <script type="text/javascript">

        var yugi = function(year, index) {

            var d = new Date(year, 0, 1);

            while (dgetDay() != 1) {

                dsetDate(dgetDate() + 1);

            }

            var to = new Date(year + 1, 0, 1);

            var i = 1;

            var arr = [];

            for (var from = d; from < to;) {

                if (i == index) {

                    arrpush(fromgetFullYear() + "年" + (fromgetMonth() + 1) + "月" + fromgetDate() + "日");

                }

                var j = 6;

                while (j > 0) {

                    fromsetDate(fromgetDate() + 1);

                    if (i == index) {

                        arrpush(fromgetFullYear() + "年" + (fromgetMonth() + 1) + "月" + fromgetDate() + "日");

                    }

                    j--;

                }

                if (i == index) {

                    return arr;

                }

                fromsetDate(fromgetDate() + 1);

                i++;

            }

        }

        var arr = yugi(2015, 52);

        consolelog(arr);

    </script>

</head>

<body></body>

</html>

以上就是关于ASP中如何获取当前的星期数全部的内容,包括:ASP中如何获取当前的星期数、java 如何获取 一个月 有多少周、javascript 实现 传入周数,获取当前周的日期,周一到周天的年月日等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!

欢迎分享,转载请注明来源:内存溢出

原文地址: http://www.outofmemory.cn/web/10628166.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-10
下一篇 2023-05-10

发表评论

登录后才能评论

评论列表(0条)

保存