2010-08-23 36 views

Trả lời

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

'd'! = 'Day' :) Tôi thà gọi nó' dayOfWeek', nó sẽ có ý nghĩa hơn đối với OP. – BalusC

+3

Đây là * không * đúng cho tất cả các múi giờ. Ví dụ, ở Pháp, ngày đầu tiên của tuần sẽ là Thứ Hai, chứ không phải chủ nhật. Các thư viện thời gian hiện đại như Moment bù đắp cho điều này. – csvan

+5

@csvan: 'getDay' phải luôn trả về 0 cho chủ nhật và 6 cho thứ bảy, v.v., theo cài đặt múi giờ hiện tại. (Và sau đó là OP để quyết định những gì tạo thành một "cuối tuần" theo yêu cầu của họ.) – LukeH

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

Điều này nói trở lại đúng nếu đó là thứ Bảy –

+5

0% 6 (Chủ Nhật) và 6% 6 (Thứ Bảy) cả hai có 0 modulus – kennebec

+7

ngoại trừ tự nguyện khó hiểu, tôi không thấy bất kỳ điểm nào trong kỹ thuật này. Cá nhân tôi thích câu trả lời của LukeH. Chỉ trong trường hợp này chúng ta có thể sử dụng modulo của 6 thay vì 7 để giải quyết vấn đề của chúng ta. –

0

Chỉ cần thêm 1 trước khi modulo

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

Điều này chỉ hoạt động nếu bạn xem Chủ nhật là cả ngày cuối tuần. – cpburnz

+0

@cpburnz hầu hết các quốc gia đều làm. chỉ một vài bắt đầu tuần với chủ nhật. – bokkie

+1

@bokkie Sau đó, đó là một phần thông tin quan trọng cần được thêm vào câu trả lời của bạn. – cpburnz

3

ngắn và ngọt ngào.

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"); 
Các vấn đề liên quan