2010-08-04 117 views

回答

7

正则表达式显然是错误的工具。使用Date.getDay()

var d = new Date(); 
var parts = dateStr.split("/"); 
// Date of month is 0-indexed. 
var d = new Date(parts[2], parts[1] - 1, parts[0]); 
var day = d.getDay(); 
if(day == 0 || day == 6) 
{ 
    // weekend 
} 
+0

当然,我应该意识到这一点。谢谢。 – 2010-08-04 01:58:38

3

JavaScript有一个约会类。见http://www.w3schools.com/jsref/jsref_obj_date.asp

,你需要做的是创建Date对象:

date = new Date(2010, 5, 19); //Year, month, day 

注意一个月零索引,所以由1减去这是六月

然后得到的日子

day = date.getDay(); //Day is also 0 indexed. 

var weekday=new Array(7); 
weekday[0]="Sunday"; 
weekday[1]="Monday"; 
weekday[2]="Tuesday"; 
weekday[3]="Wednesday"; 
weekday[4]="Thursday"; 
weekday[5]="Friday"; 
weekday[6]="Saturday"; 

document.write("Today is " + weekday[date.getDay()]); 
4

使用getDay()从0-6,其中0是星期天,6是周六返回一个整数。

如果值为1-5,那么这是一个工作日。

0或6表示这是一个周末。

0

简单的答案是。使用Date.getDay(),因为它是为了这个目的而设计的。

1

JavaScript Date.parse函数仅指定使用IETF标准时间(例如"Aug 9, 1995"),因此不符合您的要求。对于21/04/2010,您需要自行拆分并使用日期constructor汇总日期。使用经过测试的东西可能会更安全。你看过datejs

相关问题