这个连农历者能显示。代码:<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 实现 传入周数,获取当前周的日期,周一到周天的年月日等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)