2009-07-23 3 views

ответ

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

Смотрите также: Javascript Date Object на MDN.

Осторожно: Это возвращает день недели в браузере. Поскольку земля не плоская, день недели для некоторых пользователей может отличаться от дня недели для вашего сервера. Это может или не может иметь отношение к вашему проекту ...

Если вы делаете много дат работы, вы можете посмотреть в библиотеки JavaScript даты, как Datejs или Moment.js

+1

большое спасибо! :) – Jason

+0

Страница «Объект даты Javascript» на MDN включает поддержку браузера (что в данном случае отлично). https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Date –

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

... вы получите числовое представление «сегодня».

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

какой из них воскресен? :) – Jason

+0

Zero is Sunday :) Потому что это язык из США. В Европе было бы разумнее иметь понедельник как ноль, но здесь это не так. –

19

Если вам нужно только один раз в вашей странице, держать его просто ...

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

Я не думаю, что было бы, что крупные сделки, чтобы продлить, но так как у меня есть 3 голоса для интернационализации в комментариях ...

// 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 

И, наконец, версия кода гольф ...

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

Эта же строка может быть помещена в шаблон подчёркивания, без новой части Date(), чтобы удобно форматировать объекты Date. _.template ( '<% = getMonth() + 1%>. <% = getDate()%>. <% = getFullYear()%><% = ["Sunday", "Monday", "Tuesday" «Среда», «Четверг», «Пятница», «Суббота»] [getDay()]%> ', someDateObject ) – grantwparks

+0

приятно! спасибо за вклад. –

+1

'[« Солнце »,« Пн »,« Втор »,« Среда »,« Чт »,« Пт »,« Суббота »] [(новая дата()). GetDay()] +« день »' Поскольку все 7 укусов заканчиваются теми же 3 буквами, вы можете их извлечь, а не повторять. –

6

четкое в и более подробный ответ:

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]); 

fiddle.

0

дата отправки и вы получите позицию того же дня того месяца. т. е. 15/02/2018 - третий четверг.

/*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

Добавляете ли вы свое объяснение к своему ответу? Только показ кода может ввести в заблуждение. –