Вопрос по javascript, date, jquery – Используйте jQuery / JS, чтобы определить ДЕНЬ НЕДЕЛИ.

24

Есть ли метод, использующий JavaScript или jQuery, чтобы определить, какой это день недели? Например, если дата, которую пользователь выбирает в поле, - воскресенье, я могу предупредить их.

Ваш Ответ

6   ответов
2
9
today = new Date()
dayIndex = today.getDay()

0 = Sunday
1 = Monday
2 = Tuesday
3 = Wednesday
4 = Thursday
5 = Friday
6 = Saturday
какой из них воскресенье? :) Jason
Ноль - воскресенье :) Потому что это язык из США. В Европе было бы более разумно иметь понедельник равным нулю, но здесь это не так.
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;
    }
Можете ли вы добавить пояснения к своему ответу? Только показ кода может сбивать с толку.
21

сделайте это просто ...

["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"
Эту же строку можно поместить в шаблон подчеркивания без новой части Date () для удобного форматирования объектов Date. _.template (& lt;% = getMonth () + 1% & gt;. & lt;% = getDate ()% & gt;. & lt;% = getFullYear ()% & gt; & lt;% = [& Sunday & Sunday & quot ;, «понедельник», «вторник», «среда», «четверг», «пятница», «суббота»] [getDay ()]% & gt; », someDateObject)
["Sun","Mon","Tues","Wednes","Thurs","Fri","Satur"][(new Date()).getDay()]+"day" Поскольку все 7 строк заканчиваются одними и теми же 3 буквами, вы можете извлечь их, а не повторять их.
@BrunoBronosky такого рода "умный" оптимизация заставит кого-тоcrazy если вы хотите интернационализировать свое приложение ...
55
new Date().getDay();  //0=Sun, 1=Mon, ..., 6=Sat

Javascript Date Object на MDN.

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

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

& Quot; Объект даты Javascript & quot; страница на MDN включает поддержку браузера (что в этом случае отлично).developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/…
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]);

За работойиграть на скрипке.

Похожие вопросы