根据你的提问,是选择页面上一个日期,然后判断被选择的日期是星期几么\x0d\如果是:我给出的js如下:\x0d\// js code\x0d\// code描述:\x0d\// year和date好说,就是你页面选择的实际值。这里要注意month,假如你页面选择的为7月,\x0d\// 这里 的month应当为 7-1;因为在js中,表示月份的数值是从 0 到 11 之间的整数(1月至\x0d\// 12 月)。\x0d\// \x0d\// 代码思路:使用页面选择的年月日创建一个Date对象,然后getDay()就是当前日期在一周中\x0d\// 的哪一天\x0d\// \x0d\// 完整代码加测试代码如下,你根据实际需要改动下就OK了。\x0d\var year = 2011, month = 6, date = 23;// month=6表示7月\x0d\var dt = new Date(year, month, date), dt2 = new Date();\x0d\var weekDay = ["星期天", "星期一", "星期二", "星期三", "星期四", "星期五", "星期六"];\x0d\alert(weekDay[dtgetDay()]+"\r\n"+weekDay[dt2getDay()]);
1、取得指定日期是星期几
取得指定日期是星期几可以采用下面两种方式取得日期是星期几:
a、使用Calendar类
//根据日期取得星期几
public static String getWeek(Date date){
String[] weeks = {"星期日","星期一","星期二","星期三","星期四","星期五","星期六"};
Calendar cal = CalendargetInstance();
calsetTime(date);
int week_index = calget(CalendarDAY_OF_WEEK) - 1;
if(week_index<0){
week_index = 0;
}
return weeks[week_index];
}
b、使用SimpleDateFormat类
//根据日期取得星期几
public static String getWeek(Date date){
SimpleDateFormat sdf = new SimpleDateFormat("EEEE");
String week = sdfformat(date);
return week;
}
注:格式化字符串存在区分大小写
对于创建SimpleDateFormat传入的参数:EEEE代表星期,如“星期四”;MMMM代表中文月份,如“十一月”;MM代表月份,如“11”;
yyyy代表年份,如“2010”;dd代表天,如“25”
2、取得日期是某年的第几周
根据日期入得日期是某年的第几周。
//取得日期是某年的第几周
public static int getWeekOfYear(Date date){
Calendar cal = CalendargetInstance();
calsetTime(date);
int week_of_year = calget(CalendarWEEK_OF_YEAR);
return week_of_year;
}
3、得到某年的某个月有多少天
已知年份和月份,取得该月有多少天。
//取得某个月有多少天
public static int getDaysOfMonth(int year,int month){
Calendar cal = CalendargetInstance();
calset(CalendarYEAR, year);
calset(CalendarMONTH, month-1);
int days_of_month = calgetActualMaximum(CalendarDAY_OF_MONTH);
return days_of_month;
}
4、取得两个日期之间的相差多少天
已知两个日期,计算它们之间相差多少天。
// 取得两个日期之间的相差多少天
public static long getDaysBetween(Date date0, Date date1) {
long daysBetween = (date0getTime() - date1getTime() + 1000000) / 86400000;// 86400000=3600241000 用立即数,减少乘法计算的开销
return daysBetween;
}
只需要知道三个代码
日期代码+月份代码+年份代码
就可以秒算任意年份任意日期的星期数
方法
1、日期代码指的是日期数,如3月18号,日期代码为18。4月7号,日期代码为7。
2、月份代码(需要小小记忆)
五月 是 0
八月 是 1
二月 三月 十一月 是 2
六月 是 3
九月 十二月 是4
四月 七月 是5
一月 十月 是 6
如果遇到闰年 则二月代码变为1,一月代码变为5,其它不变。即,非闰年的月份代码为622503 514624,闰年的月份代码为512503 514624。
3、年份代码
举个例子 2010年的代码,我们用尾数10除以4(忽略余数)再加上10得到数字12,再用12除以7,得到的余数5就是2010年的代码。
也就是说,心算出2000到2099任意年份的代码,只需将其后两位数X除以4(忽略余数),然后与X相加,并除以7就可以了,得到的余数就是其年份代码。10年的年份代码是5,11年年份代码为6。
4、秒算任意日期的星期数
如,我们算一下2010年4月25日
日期代码25
月份代码5
年份代码5
日期代码+月份代码+年份代码=25+5+5=35
35是7的倍数,所以2010年4月25日是星期日
再比如算一下2010年10月1日
日期代码1
月份代码6
年份代码5
日期代码+月份代码+年份代码=1+6+5=12
12除以7余5,所以2010年10月1日是星期五
如果得到的代码和是小于7的数,那么此数直接是星期数
如果得到的代码和是大于7的数,那么将该数除以7得到的余数为星期数。
方法二
原理:蔡勒公式
1、W=[C/4]-2C+y+[y/4]+[26(m+1)/10]+d-1 (其中[ ]为取整符号)
2、其中,W是所求日期的星期数如果求得的数大于7,可以减去7的倍数,直到余数小于7为止c是公元年份的前两位数字,y是已知公元年份的后两位数字;m是月数,d是日数方括[ ]表示只截取该数的整数部分。
3、还有一个特别要注意的地方:所求的月份如果是1月或2月,则应视为前一年的13月或14月所以公式中m 的取值范围不是1-12,而是3-14
通过getDay() 方法,可返回表示星期的某一天的数字。
星期中的某一天,使用本地时间。返回值是 0(周日) 到 6(周六) 之间的一个整数。
示例:
<script type="text/javascript">var d=new Date()
var weekday=new Array(7)
weekday[0]="星期天"
weekday[1]="星期一"
weekday[2]="星期二"
weekday[3]="星期三"
weekday[4]="星期四"
weekday[5]="星期五"
weekday[6]="星期六"
documentwrite("Today it is " + weekday[dgetDay()])//返回当前时间是星期几
</script>
以上就是关于js 如何根据所选时间判断是星期几全部的内容,包括:js 如何根据所选时间判断是星期几、java中如何获取日期时间中的星期几、怎样由日期推算是星期几等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)