2009-07-23 22 views

Trả lời

51
new Date().getDay(); //0=Sun, 1=Mon, ..., 6=Sat 

Xem thêm: Javascript Date Object trên MDN.

Lời cảnh cáo: Điều này trả về ngày trong tuần trên trình duyệt. Vì trái đất không bằng phẳng nên ngày trong tuần cho một số người dùng có thể khác với ngày trong tuần cho máy chủ của bạn. Điều này có thể hoặc không thể có liên quan đến dự án của bạn ...

Nếu bạn đang làm rất nhiều công việc cập nhật, bạn có thể muốn xem xét các thư viện ngày JavaScript như Datejs hoặc Moment.js

+1

cảm ơn bạn nhiều! :) – Jason

+0

Trang "Ngày đối tượng Javascript" trên MDN bao gồm hỗ trợ trình duyệt (trong trường hợp này là tuyệt vời). https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Date –

8
today = new Date() 
dayIndex = today.getDay() 

... sẽ giúp bạn có được một đại diện số của "hôm nay".

0 = Sunday 
1 = Monday 
2 = Tuesday 
3 = Wednesday 
4 = Thursday 
5 = Friday 
6 = Saturday 
+0

ngày nào là chủ nhật? :) – Jason

+0

Zero là Sunday :) Bởi vì đó là một ngôn ngữ từ Hoa Kỳ. Ở châu Âu, sẽ có ý nghĩa hơn để có thứ hai là số không, nhưng đó không phải là trường hợp ở đây. –

19

Nếu bạn chỉ cần điều này một lần trong trang của bạn, giữ cho nó đơn giản ...

["Sunday","Monday","Tuesday","Wednesday","Thursday","Friday","Saturday"][(new Date()).getDay()] 

Tôi không nghĩ rằng nó sẽ là một thỏa thuận lớn để mở rộng, nhưng kể từ khi tôi có 3 phiếu bầu cho quốc tế hóa trong các ý kiến ​​...

// dictionary version 
({ 
    es: ["Domingo", "Lunes", "Martes", "Miércoles", "Jueves", "Viernes", "Sábado"], 
    en: ["Sunday", "Monday", "Tuesday", "Wednesday", "Thursday", "Friday", "Saturday"] 
})['en'][(new Date()).getDay()] 
// returns Wednesday 

// list version 
langs=['en','es'] 

[ 
    ["Domingo", "Lunes", "Martes", "Miércoles", "Jueves", "Viernes", "Sábado"], 
    ["Sunday", "Monday", "Tuesday", "Wednesday", "Thursday", "Friday", "Saturday"] 
][langs.indexOf('es')][(new Date()).getDay()] 
// returns Miércoles 

Và cuối cùng, phiên bản golf mã ...

["Sun","Mon","Tues","Wednes","Thurs","Fri","Satur"][(new Date()).getDay()]+"day" 
+0

Chuỗi này có thể được đặt vào một mẫu gạch dưới, không có phần Date() mới, để định dạng thuận tiện các đối tượng Ngày tháng. _.template ( '<% = getMonth() + 1%>. <% = getDate()%>. <% = getFullYear()%><% = ["Chủ nhật", "Thứ Hai", "Thứ Ba", "Thứ Tư", "Thứ Năm", "Thứ Sáu", "Thứ Bảy"] [getDay()]%> ', someDateObject ) – grantwparks

+0

tốt đẹp! cảm ơn vì đã đóng góp. –

+1

'[" Mặt trời "," Thứ Hai "," Thứ Ba "," Thứ Tư "," Thứ Năm "," Thứ Sáu "," Thứ Bảy "] [(Ngày mới()). GetDay()] +" ngày "' Vì tất cả 7 stings kết thúc với cùng 3 chữ cái, bạn có thể trích xuất chúng thay vì lặp lại chúng. –

6

một một rõ ràng hơn nd câu trả lời chi tiết hơn:

var days = [ 
    'SUN', //Sunday starts at 0 
    'MON', 
    'TUE', 
    'WED', 
    'THU', 
    'FRI', 
    'SAT' 
]; 

d = new Date(); //This returns Wed Apr 02 2014 17:28:55 GMT+0800 (Malay Peninsula Standard Time) 
x = d.getDay(); //This returns a number, starting with 0 for Sunday 

alert (days[x]); 

Working fiddle.

0

gửi ngày và bạn sẽ nhận được vị trí của cùng một ngày trong tháng đó. tức là ngày 15/02/2018 là Thứ Năm Thứ Ba.

/*return day postion and dayname */ 
    function weekAndDay(date) { 
     var arrayWeek =[]; 
     var date = new Date(date), 
     days = ['Sunday','Monday','Tuesday','Wednesday','Thursday','Friday','Saturday'], 
     prefixes = ['','First', 'Second', 'Third', 'Fourth', 'Fifth']; 
     if (date.getDate() % 7 == 0) { 
      var prefixes2 = date.getDate()/7; 
     }else{ 
      var prefixes2 = Math.ceil(date.getDate()/7); 
     } 
     arrayWeek.push({ 
      'dayPos' : prefixes[prefixes2] , 
      'dayName' : days[date.getDay()] 
     }); 
     return arrayWeek; 
    } 
+0

Bạn có thể thêm một số lời giải thích cho câu trả lời của mình không? Chỉ hiển thị mã có thể gây nhầm lẫn. –

Các vấn đề liên quan