- Date JS — Дата и время в JavaScript
- new Date()
- new Date(value)
- getTime()
- Date.now()
- new Date(dateString)
- new Date(year, month, date, hours, minutes, seconds, millisecond)
- Обязательные аргументы
- Необязательные аргументы
- Методы для получения элементов даты
- getFullYear()
- getMonth()
- getDate()
- getHours(), getMinutes(), getSeconds(), getMilliseconds()
- getTimezoneOffset()
- getDay()
- Установка компонентов даты и времени
- UTC-варианты методов
- Преобразование объекта Date к строке
- Итого
- Номер текущего месяца javascript
- javascript код получения числового значения месяца
- Пример получения числового значения месяца в javascript
- Получить трехбуквенное обозначение месяца в javascript
- код получения трехбуквенного значение месяца в javascript
- Ввод трехбуквенного значения месяца в javascript
- Получить и вывести текущее название месяца на русском javascript
Date JS — Дата и время в JavaScript
Для работы с датой и временем в JavaScript существует встроенный объект Date , который содержит методы для создания, хранения, изменения или вывода элементов времени с точностью до миллисекунды. К таким элементам относят: год, месяц, день месяца, неделя, час, минута, секунда, миллисекунда, день недели.
Создать объект Date можно с помощью аргументов:
- количество миллисекунд — new Date(value) ;
- строка — new Date(dateString) ;
- год, месяц, день, часы, минуты, секунды, миллисекунды;
Или пропустить аргументы вовсе.
new Date()
Создадим экземпляр объекта Date без дополнительных аргументов и выведем получившийся результат в console.
let date = new Date(); console.log(date); // Thu Sep 01 2022 06:46:30 GMT+1200 (Фиджи) console.log(date.getFullYear()); // 2022
Получим дату и время согласно часовому поясу, которое установлено на локальном компьютере.
Точно такую же информацию мы можем получить написав Date() без new .
let date = Date(); console.log(date); console.log(date.getFullYear()); // получим ошибку
Однако в этом случае мы получим строку, объект же Date может быть создан только путем вызова функции-конструктора, а следовательно с использованием оператора new . Встроенные методы, для работы с датой в JavaScript, со строкой работать не будут, кроме Date.parse() .
new Date(value)
Создать объект Date , можно передав в качестве аргумента количество миллисекунд.
console.log(new Date(0)); // Thu Jan 01 1970 12:00:00 GMT+1200 (Фиджи) console.log(new Date(818079300000)); // Tue Dec 05 1995 00:15:00 GMT+1200 (Фиджи) console.log(new Date(-268065720000)); // Tue Jul 04 1961 21:18:00 GMT+1200 (Фиджи)
Результат = 1 января 1970 года UTC+0 + количество миллисекунд.
Если указать миллисекунды со знаком минус, отсчет пойдет в обратную сторону. Таким образом все, что со знаком минус будет соответствовать дате до 1 января 1970 года.
getTime()
Количество миллисекунд прошедших с 1 января 1970 года по сегодняшний или заданный момент времени называется timestamp и может быть получено из new Date() с помощью метода getTime() .
date = new Date(2019, 5); alert(date.getTime()); // количество миллисекунд прошедшие с 1 января 1970 года alert(new Date(date.getTime())) // получаем дату обратно
Date.now()
Если необходимо получить количество миллисекунд прошедших с 1 января 1970 года по данный момент правильней будет использовать метод Date.now() .
let date = Date.now(); alert(date);
Запись эквивалента new Date().getTime() , но в отличие от этой конструкции Date.now() не создает промежуточный объект Date , что может быть особенно важно при разработке, где упор идет на быстродействие.
new Date(dateString)
Создать объект Date можно передав в качестве аргумента строку с датой и временем.
date = new Date('2021-09-25T05:27:00'); alert(date); // Sun Sep 25 2022 05:27:00 GMT+1300 (Тонга)
Дата должна быть записана в формате понятном методу Date.parse() , который преобразовывает строку в количество миллисекунд прошедших с 1 января 1970 года UTC+0. Если формат записи будет не верным, метод вернет NaN .
date = new Date('2021-09-25T05:27:00'); alert(Date.parse(date));
new Date(year, month, date, hours, minutes, seconds, millisecond)
new Date(1995, 11, 4, 3, 15, 10, 0); // Mon Dec 04 1995 03:15:10 GMT-0600 (Центральная Америка)
Рассмотрим все возможные аргументы по порядку:
Обязательные аргументы
Год (year) — обязательный аргумент. Обычно записывается полностью — все четыре числа — 2022. Допустима, но не рекомендуется запись от 0 до 99. В этом случае год будет интерпретирован, как 1900 + заданное число.
Месяц (month) — обязательный аргумент и целое число от 0 до 11, где первое это январь, а последнее декабрь.
Необязательные аргументы
День (date) — необязательный аргумент обозначающий день месяца, если не задан, то по умолчанию принимает значение 1. Отсчет начинается с единицы.
Часы (hours) — от 1 до 24
Минуты (minutes) — от 1 до 60
Секунды (seconds) — от 1 до 60
Миллисекунды (millisecond) — от до 1000
Часы, минуты, секунды и миллисекунды — это целые числа, если аргумент не задан, то по умолчанию принимается значение 0.
Если при создании объекта Date в качестве аргумента задано число больше или меньше логического диапазона, программа автоматически переформатирует его в корректное, перенеся значение не соседнее. Если год 2010, а месяц 12 – это будет январь 2011. Если задать 10 часов 61 минуту – это будет 11 часов 1 минута. Если месяц апрель, а день 0 это 31 марта.
Методы для получения элементов даты
getFullYear()
let date = new Date('1996-12-17T05:30:00'); date.getFullYear(); // 1996
Метод позволяет получить год из объекта Date , если аргументов нет вернет текущий.
getMonth()
let date = new Date('1996-12-17T05:30:00'); date.getMonth(); // 11
Метод вернет месяц в формате от 0 до 11, если аргументов нет текущий.
getDate()
let date = new Date('1996-12-17T05:30:00'); date.getDate(); // 17
Метод возвращает день месяца указанного в объекте, если аргументов нет вернет текущую дату по местному времени.
getHours(), getMinutes(), getSeconds(), getMilliseconds()
let date = new Date(1996, 11, 17, 21, 30, 10, 900); date.getHours(); // 21 или 9 часов вечера date.getMinutes(); // 30 минут date.getSeconds(); // 10 секунд date.getMilliseconds(); 900 миллисекунд
Если аргумент отсутствует метод вернёт 0.
getTimezoneOffset()
Метод возвращает разницу в минутах между локальным временем и UTC.
let date = new Date().getTimezoneOffset(); alert(date); // при UTC +3 покажет -180
getDay()
let date = new Date(1996, 11, 17); date.getDay(); // 2
Метод возвращает день недели, отсчет начинается с 0 (воскресенье) и заканчивается 6-ю (суббота). В примере 1996 год 17 декабря и это вторник, следовательно результат 2.
Установка компонентов даты и времени
Для того, чтобы заменить или передать в объект Date отдельные компоненты времени используют следующие методы. В квадратных скобках необязательные элементы, которые при отсутствии игнорируются.
setFullYear(год, [месяц], [день месяца])
setMonth(месяц, [день месяца])
setHours(часы, [минуты], [секунды], [миллисекунды])
setMinutes(минуты, [секунды], [миллисекунды])
setTime() — устанавливает время в Date равным количеству миллисекунд прошедших с 1 января 1970 г. UTC.
При использовании методов результат возвращается в миллисекундах прошедших с 1 января 1970 г. по времени установленном на компьютере.
let date = new Date(2019, 0); // Tue Jan 01 2019 00:00:00 GMT+0300 (Москва) date.setFullYear(2021); // 1609448400000 мс, что равно Fri Jan 01 2021 00:00:00 GMT+0300 (Москва)
В примере мы передали в объект 2021 год, который и заменил 2019-ый.
UTC-варианты методов
Методы получения и передачи элементов для объекта Date работают согласно времени установленном на компьютере. Для того, чтобы в качестве результата получать дату относительно всемирного координированного времени (UTC) используют похожие методы, отличающиеся только вставкой UTC.
Получение элементов даты согласно UTC:
getUTCFullYear() , getUTCMonth() , getUTCDate() , getUTCHours() , getUTCMinutes() , getUTCSeconds() , getUTCMilliseconds() , getUTCDay()
Установка компонентов даты и времени согласно UTC:
setUTCFullYear() , setUTCMonth() , setUTCDate() , setUTCHours() , setUTCMinutes() , setUTCSeconds() , setUTCMilliseconds()
Преобразование объекта Date к строке
Для того, чтобы получить из Date нужные элементы даты и времени в формате строки используют следующие методы:
toTimeString() — только время
toDateString() — только дата
toUTCString() — дата и время в формате UTC
toISOString() — дата и время в формате ISO
toLocaleTimeString() — только время в локальном формате
toLocaleString() — дата и время в локальном формате
let date = new Date(2018, 4, 19, 2, 34, 10); date.toString(); // Sat May 19 2018 02:34:10 GMT+0300 (Москва) date.toTimeString(); // 02:34:10 GMT+0300 (Москва) date.toDateString(); // Sat May 19 2018 date.toUTCString(); // Fri, 18 May 2018 23:34:10 GMT date.toISOString(); // 2018-05-18T23:34:10.000Z date.toLocaleTimeString(); // 02:34:10 date.toLocaleString(); // 19.05.2018, 02:34:10
Итого
1. Объект Date может быть создан без аргументов или с аргументами. В первом случае получим текущую временную метку, во втором задаем нужный отрезок времени с помощью миллисекунд, строки с датой или аргументов (год, месяц, день, часы, минуты, секунды, миллисекунды).
2. Для получения отдельных элементов Date используют методы — getFullYear() , getMonth() , getDate() , getHours() , getMinutes() , getSeconds() , getMilliseconds() , getDay() .
3. Для того, чтобы установить новые компоненты даты и времени используют: setFullYear() , setMonth() , setDate() , setHours() , setMinutes() , setSeconds() , setMilliseconds() , setTime() .
4. Для получения даты в нужном формате в виде строки используют: toString() , toTimeString() , toDateString() , toUTCString() , toISOString() , toLocaleTimeString() , toLocaleString() .
5. При создании Date в независимости какие аргументы и в каком формате передаются, создается объект со всеми элементами времени.
6. Если передать в Date аргументы времени некорректного формата (целые числа), дата будет корректироваться переносом значения на соседнее.
Skypro — научим с нуля
Номер текущего месяца javascript
Можно ли получить месяц из объекта «Date()» ? — Легко!
Для того, чтобы получить месяц из объекта «Date()» нам понадобится:
Создадим переменную и ей приравняем объект Date();
Далее нам потребуется метод «getMonth()»
Выведем полученное значение месяца на экран с помощью document.write();
Поскольку. как вы наверное знаете, отсчет месяцев начинается с нуля, то первый месяц — это будет 0, второй 1, третий 2 и тд. Поэтому. нам потребуется к полученному числовому значению месяца в javascript прибавить!
Соберем весь код получения подряд кого номера месяца в javascript
javascript код получения числового значения месяца
document.write( itsNow .getMonth() +1 );
Пример получения числового значения месяца в javascript
Теперь разместим прямо здесь приведенный выше код получения месяца в javascript и мы получим текущий номер месяца:
Получить трехбуквенное обозначение месяца в javascript
Давайте попробуем вывести, а что собственно сидит в объекте Date() .
Разделим полученные данные в массив с помощью «split»
Получим массив в строку через запятую.
Видим название месяца в ячейке №1(по счету начиная с 0). Чтобы получить ячейку массива нам понадобятся квадратные скобки:
Соберем весь код получения трехбуквенного значение месяца в javascript
код получения трехбуквенного значение месяца в javascript
document.write( Date().split(‘ ‘)[1] );
Ввод трехбуквенного значения месяца в javascript
Далее поступаем аналогично. размещаем приведенный код прямо здесь и мы получим трехбуквенное значение текущего месяца:
Получить и вывести текущее название месяца на русском javascript
Для того, чтобы получить название месяца на русском нам понадобится:
Массив месяцев на русском
Как вы наверное помните из предыдущих пунктов. мы получали номер месяца
Напомню, что у нас выводит данная конструкция — текущий номер месяца(отсчет начинается с 0):
В данном случае нам не нужно прибавлять 1, как мы делали здесь -потому, что у нас есть другой массив.
Пишим название массива(months) далее квадратные скобки и помещаем туда номер текущего месяца.
Соберем весь код получения названия текущего месяца на русском javascript