我可以找到哪些州的哪些數字應該是一週的日子的唯一來源是Wikipedia和this page。兩者均建議星期幾的數字應爲1
至7
,並從開始週一。
我支持ic3b3rg的建議延伸Date.prototype
,雖然會建議使用UTC和文字來獲取名稱。以下示例使用對象和一個匿名函數,因此名稱只需定義一次。
(function() {
var dayNames = {1: 'Monday', 2: 'Tuesday', 3: 'Wednesday', 4: 'Thursday', 5: 'Friday', 6: 'Saturday', 7: 'Sunday'};
// Local time
Date.prototype.getISODay = function() {return this.getDay() || 7;};
Date.prototype.getISODayName = function() {return dayNames[this.getDay() || 7];};
// Date.prototype.getDayName = Date.prototype.getISODayName
// UTC
Date.prototype.getUTCISODay = function() {return this.getUTCDay() || 7;};
Date.prototype.getUTCISODayName = function() {return dayNames[this.getUTCDay() || 7];};
// Date.prototype.getUTCDayName = Date.prototype.getUTCISODayName;
}());
隨着時間的名稱將是相同的ISO日期名(假設英語),我已經在額外的線路,如果你想兩者都可以去掉加。
雖然沒有標準嗎?我正在創建一個使用ISO Week Year,ISO Week和ISO Day Number的公共API。我想確保我正確實施雙方,如果有標準,我想在我的應用程序的各個部分遵守它。 –
@JonnyH:是的,如果你希望以ISO8601格式表示一週的數字,那麼你必須使用'(theDate.getDay()+ 6)%7 + 1'來轉換Javascript星期幾數字,以使週日7而不是0. – Guffa
這看起來像問題的確定答案,謝謝。 –