我很难确定 JavaScript 的getDay()方法 ( http://www.w3schools.com/jsref/jsref_getday.asp ) 是否符合 ISO 8601。
getDay()返回0星期日,1星期一等。
该文档建议映射到这样的日期名称:
var weekday=new Array(7);
weekday[0]="Sunday";
weekday[1]="Monday";
weekday[2]="Tuesday";
...
var n = weekday[(new Date()).getDay()];
Run Code Online (Sandbox Code Playgroud)
我只能看到 ISO 标准将星期一定义为一周的第一天。我认为这意味着星期一应该是 0,而不是星期日。
有人对这个有经验么?您能否澄清并建议覆盖使星期一成为一周第一天的方法?
var weekday=new Array(7);
weekday[0]="Monday";
weekday[1]="Tuesday";
weekday[2]="Wednesday";
...
var n = weekday[((new Date()).getDay() + 6) % 7 + 1];
Run Code Online (Sandbox Code Playgroud)
或扩展日期原型:
Date.prototype.getISODay = function(){ return (this.getDay() + 6) % 7 + 1; }
Run Code Online (Sandbox Code Playgroud)
然后使用
var n = weekday[(new Date()).getISODay()];
Run Code Online (Sandbox Code Playgroud)
仅当您想要使用工作日实际表示为数字的日期格式(例如格式)YYYY-Www-D,或者如果您想要获取特定日期的周数时,如何表示工作日才重要。
否则,工作日如何以数字表示并不重要。星期一仍然是星期一。
| 归档时间: |
|
| 查看次数: |
4656 次 |
| 最近记录: |