【发布时间】:2012-09-11 03:04:31
【问题描述】:
如何在javascript中获取星期天作为一周的第一天的一年中的周数,也是固定的年数?
例如2012-12-31 应与 2013-01-01 具有相同的年号和周号。
我找到了一个 sn-p 来做这个,但是一周总是从星期一而不是星期日开始,如何解决?
exports.getYearAndWeek = function(d) {
// Copy date so don't modify original
d = new Date(d);
d.setHours(0,0,0);
// Set to nearest Thursday: current date + 4 - current day number
// Make Sunday's day number 7
d.setDate(d.getDate() + 4 - (d.getDay()||7));
// Get first day of year
var yearStart = new Date(d.getFullYear(),0,1);
// Calculate full weeks to nearest Thursday
var weekNo = Math.ceil(( ( (d - yearStart) / 86400000) + 1)/7)
// Return array of year and week number
return [d.getFullYear(), weekNo];
}
【问题讨论】:
-
程序员通常编写代码,而不是搜索某些内容并要求其他人修复他们发现的内容。你试过自己做你的工作吗?
-
@zerkms 我在这条线上试过
var weekNo = Math.ceil(( ( (d - yearStart) / 86400000) + 1)/7)从来没有用过,斯坦格。 -
您尝试过什么?我看到您刚刚按原样复制了该行。您是否尝试了解此代码的作用?
-
@zerkms 我不知道如果有人有更多经验来解决这个问题而不是自己解决这个问题,那是怎么回事。你不知道怎么回答就走开。
-
"2012-12-31 应该与 2013-01-01 具有相同的年数和周数" - 什么? 2012 年的日期如何与 2013 年的日期相同? 12 月的日期如何与 1 月的日期具有相同的周数?
标签: javascript date calendar