2016-07-11 31 views
-5

我正在嘗試獲取當前日期/特定日期的週數。任何關於邏輯構建的建議都將有所幫助。如何獲得在JavaScript中輸入日期的星期數?

+0

有,也許一看:http://stackoverflow.com/questions/9045868/javascript-date-getweek –

+0

可以檢查出[時刻](http://momentjs.com/),如果你想在JS中處理日期。 – Lux

+0

你想獲得一個ISO標準週數,或一些本地化的星期數? – Teemu

回答

0
function getWeekNumber(thisDate) { 
var dt = new Date(thisDate); 
var thisDay = dt.getDate(); 

var newDate = dt; 
newDate.setDate(1); // first day of month 
var digit = newDate.getDay(); 

var Q = (thisDay + digit)/7; 

var R = (thisDay + digit) % 7; 

if (R !== 0) return Math.ceil(Q); 
else return Q;} 

getWeekNumber(「07/31/2016」);

+0

您不應該使用Date構造函數解析字符串(或Date.parse,它們對於解析是等效的)。使用Date方法創建一個字符串然後解析到另一個Date(例如獲取本月的第一個)是沒有意義的,只需直接使用Date方法:'newDate.setDate(1)'。 – RobG

-1
let _ = new Date, 
    __ = ~~((new Date(_.getFullYear(), 0, 0) - _)/36e5 * 24), 
    ___ = (__ - __ % 7)/7; 
+1

需要額外的解釋(比如你爲什麼使用下劃線而不是名字)? – dakab

相關問題