2010-08-23 106 views

回答

98
var day = yourDateObject.getDay(); 
var isWeekend = (day == 6) || (day == 0); // 6 = Saturday, 0 = Sunday 
+7

'D'!='day' :)我寧願把它稱爲'dayOfWeek',那就更有意義OP。 – BalusC 2010-08-23 21:26:39

+3

對於所有時區,這是* not * true。例如,在法國,一週的第一天將是星期一,而不是星期天。像Moment這樣的現代時間庫彌補了這一點。 – csvan 2015-06-16 06:13:02

+5

@csvan:根據當前的時區設置,'getDay'應該總是爲星期日返回0,星期六爲6。 (然後由OP根據他們的要求決定什麼構成「週末」。) – LukeH 2015-06-17 11:18:13

29
var isWeekend = yourDateObject.getDay()%6==0; 
+0

如果是星期六 – 2013-11-03 23:14:40

+5

0%6(星期天)和6%6(星期六)都有0模數,則返回true – kennebec 2013-11-04 01:05:20

+7

除了自願混淆外,我沒有看到這種技術有任何意義。我個人更喜歡LukeH的回答。在這種情況下,我們可以用6的模而不是7來解決我們的問題。 – 2014-09-07 01:45:36

0

var isWeekend = (yourDateObject.getDay() + 1) % 7 == 0; 
+3

只有當你認爲週日是整個週末時,這纔有效。 – cpburnz 2014-10-24 01:32:06

+0

@cpburnz大部分國家都這樣做。星期天只有少數幾個星期開始。 – bokkie 2014-12-16 15:24:15

+1

@bokkie然後,這是應該添加到您的答案的重要信息。 – cpburnz 2014-12-16 16:21:06

3

簡短而親切前只需添加1。

var isWeekend = ([0,6].indexOf(new Date().getDay()) != -1);

0
var d = new Date(); 
var n = d.getDay(); 
if(n == 6) 
console.log("Its weekend!!"); 
else 
console.log("Its not weekend"); 
相關問題