Объект Date в JavaScript — это встроенный объект, позволяющий нам удобно работать с датами и временем.
Используя объект Date, мы можем узнать текущие дату и время, хранить собственные даты и время, выполнять вычисления с этими датами и преобразовывать даты в строки.
Мы можем установить и отобразить таймер на веб-странице с помощью объекта даты JavaScript.
Мы можем использовать различные конструкторы Date для создания экземпляров объекта date. Он предоставляет множество методов для установки и получения дня, месяца, года, часа, минуты и секунд. Он не имеет свойств.
JavaScript хранит дату как количество миллисекунд с полуночи 1 января 1970 года. Эта дата называется эпохой.
- Конструктор дат JavaScript
- Различные способы создания объекта Date в JavaScript
- Получение текущей даты и времени на ПК
- Аргумент, используемый с объектом JavaScript Date
- Установка даты и времени объекта JavaScript Date
- Пример: установка года, месяца, дня и времени
- Получение даты и времени из объекта JavaScript Date
- Преобразование getDay() в название дня
- Преобразование getMonth() в название месяца
Конструктор дат JavaScript
JavaScript предоставляет четыре различных перегруженных конструктора для создания экземпляров объекта даты. Они следующие:
1. Date(): Этот конструктор создает новый объект даты, представляющий текущие данные и время, принадлежащие системе пользователя. Он не принимает никаких аргументов.
2. Date(миллисекунды): этот конструктор создает новый объект даты с указанным количеством миллисекунд с 1 января 1970 года в 00:00:00 по Гринвичу.
3. Date(dateString): этот конструктор создает новый объект даты со строкой, представляющей дату или данные и время.
4. Date(год, месяц, день, часы, минуты, секунды, миллисекунды): этот конструктор создает экземпляр даты с указанными значениями, разделенными запятыми.
Различные способы создания объекта Date в JavaScript
Всякий раз, когда мы хотим работать с датами и временем в JavaScript, нам нужно создать экземпляр объекта Date. Мы можем создать объект Date, используя ключевое слово new и некоторые необязательные аргументы в JavaScript.
Это то же самое, что мы создаем любой другой объект в JavaScript. Общий синтаксис для создания объекта Date следующий:
var myDate = new Date(Optional parameters);
Давайте рассмотрим различные форматы создания объекта Date с инициализацией значений аргументов.
1. Первый формат:
var currentDate = new Date(); // passing no argument.
Это наиболее распространенный формат объекта Date, в котором JavaScript извлекает текущую дату и время с компьютера пользователя и сохраняет их в переменной currentDate. Мы можем создать объект date, вызвав функцию-конструктор Date().
2. Второй формат:
var myDate = new Date("July 30, 2022, 12:08:00"); // passing a simple date string to constructor.
Этот оператор устанавливает объект Date с указанным месяцем, днем и временем как (месяц дд, гггг, чч:мм:сс). Если мы его опустим, то JavaScript установит его в ноль.
3. Третий формат:
var myBirthday = new Date(10, 08, 1992);
Этот оператор создает объект Date с инициализацией указанного месяца, дня и года как (мм, дд, гггг).
4. Четвертый формат:
var myDate = new Date(2022, 10, 30, 12, 33, 20, 30);
Этот оператор создает объект Date с инициализацией указанного года, месяца, дня, часов, минут, секунд и миллисекунд.
5. Пятый формат:
var myDate = new Date(998550121000); // here, the argument is in milliseconds.
Вы можете выбрать любой из приведенных выше форматов, в зависимости от того, какое значение вы установили в соответствии с требованиями. Если вы не используете никаких аргументов, то JavaScript сохранит текущую дату в объекте.
Получение текущей даты и времени на ПК
Давайте создадим программу JavaScript для отображения текущей даты и времени пользователя.
<script> var currentDate = new Date(); console.log("Current date and time on PC: " +currentDate); </script>
Output: Current date and time on PC: Sat Jul 30 2022 13:05:35 GMT+0530 (India Standard Time)
Аргумент, используемый с объектом JavaScript Date
В этом разделе мы перечислили возможные значения аргументов, связанных с объектом Date в табличной форме. Они следующие:
Аргумент | Возможные значения |
---|---|
гггг | Четырехзначные целые числа |
гг | Двузначные целые числа |
месяц | Полное название месяца от «Январь» до «Декабрь» |
мт (месяц) | Целые числа от 0 (янв) до 11 (дек) |
дд (день месяца) | Целые числа от 1 до 31 |
чч (час дня) | Целые числа от 0 (полночь) до 23 (23:00) |
мм (минута часа) | Целые числа от 0 до 59 |
сс (секунда минуты) | Целые числа от 0 до 59 |
мс (миллисекунды секунды) | Целые числа от 0 до 999 секунд |
Установка даты и времени объекта JavaScript Date
JavaScript предоставляет множество методов set для установки даты или времени в объекте Date для облегчения. Они следующие:
1. setDate(): Этот метод устанавливает день месяца для указанной даты на основе местного времени. Общий синтаксис этого метода для установки даты месяца выглядит следующим образом:
dateObj.setDate(dd); // dd is an integer from 1 to 31, representing day of month. For example: myDate.setDate(20);
Давайте рассмотрим пример, в котором мы установим дату месяца с помощью метода setDate().
<script> // Create an instance of date object. var day = new Date(); // Setting the date of a month. day.setDate(20); console.log(day); </script>
Output: Wed Jul 20 2022 15:21:51 GMT+0530 (India Standard Time)
2. setMonth(): Этот метод устанавливает месяц года для указанной даты на основе местного времени. Общий синтаксис для установки месяца года выглядит следующим образом:
dateObj.setMonth(mth);
Здесь mth — название месяца. Принимает целое число от 0 до 11, начиная с января (0), февраля (1) и так далее.
Давайте рассмотрим пример, в котором мы установим значение месяца с помощью метода setMonth().
<script> var dateObj = new Date(); // Setting the month value. dateObj.setMonth(9); console.log(dateObj); </script>
Output: Sun Oct 30 2022 15:45:51 GMT+0530 (India Standard Time)
3. setFullYear(): Этот месяц устанавливает год, используя полные 4 цифры (т.е. 2022) для указанной даты на основе местного времени. Общий синтаксис для установки года такой:
dateObj.setFullYear(yyyy); For example: dateObj.setFullYear(2022);
4. setTime(): Этот метод устанавливает время, указывая количество миллисекунд (с 1 января 1970 00:00:00) на основе местного времени. Общий синтаксис для установки времени:
dateObj.setTime(ms); For example: dateObj.setTime(20000);
5. setHours(): Этот метод устанавливает свойство часов объекта Date. Общий синтаксис для установки часа дня выглядит следующим образом:
dateObj.setHours(hh); For example: dateObj.setHours(20);
6. setMinutes(): Этот метод устанавливает свойство mintues объекта Date. Общий синтаксис для установки минут часа выглядит следующим образом:
dateObj.setMinutes(mm); For example: dateObj.setMinutes(42);
7. setSeconds(): Этот метод устанавливает свойство секунд объекта Date. Общий синтаксис для установки секунды минуты выглядит следующим образом:
dateObj.setSeconds(ss); For example: dateObj.setSeconds(59);
8. setMilliseconds(): Этот метод устанавливает свойство миллисекунд объекта Date. Общий синтаксис для установки миллисекунды секунды выглядит следующим образом:
dateObj.setMilliseconds(ms); For example: dateObj.setMilliseconds(988);
Пример: установка года, месяца, дня и времени
Давайте рассмотрим пример программы, в которой мы установим год, месяц, день, час, минуту, секунду и миллисекунды на основе местного времени и отобразим их в веб-браузере.
<script> var dateObj = new Date(); // Setting the year, month, and day values. dateObj.setYear(2022); dateObj.setMonth(9); dateObj.setDate(8); // Setting hour, minute, second, and milliseconds values. dateObj.setHours(05); dateObj.setMinutes(45); dateObj.setSeconds(35); dateObj.setMilliseconds(555); console.log(dateObj); </script>
Output: Sat Oct 08 2022 05:45:35 GMT+0530 (India Standard Time)
Примечание: С помощью этих методов мы можем устанавливать только свойства даты и времени внутри объекта Date. JavaScript не предоставляет никаких методов для изменения системной даты и времени компьютера, на котором запущен веб-браузер.
Получение даты и времени из объекта JavaScript Date
JavaScript предоставляет множество методов get для получения (или чтения) значений из объекта Date. Давайте разберемся с этими методами get с кратким описанием.
1. getDate(): Этот метод возвращает день месяца для указанной даты на основе местного времени. Он возвращает целочисленное значение от 1 до 31, представляющее день для указанной даты. Общий синтаксис для получения дня месяца выглядит следующим образом:
dateObj.getDate();
Давайте рассмотрим пример программы, в которой мы будем отображать сегодняшнюю дату.
<script> var dateObj = new Date(); console.log("Today's day: " +dateObj.getDate()); </script>
Output: Today's day: 31
Давайте рассмотрим пример вывода дня из указанной даты в функции-конструкторе Date().
<script> var dateObj = new Date("August 15, 1947 20:22:10"); console.log(dateObj.getDate()); </script>
Output: 15
2. getDay(): Этот метод возвращает день недели для указанной даты на основе местного времени. Он возвращает целое значение от 0 до 6, представляющее дни недели для указанной даты. Например, 0 представляет воскресенье, 1 представляет понедельник и т. д.
Общий синтаксис для получения дня недели выглядит следующим образом:
dateObj.getDay();
Давайте рассмотрим пример программы, в которой мы выведем значение сегодняшнего дня недели.
<script> var dateObj = new Date(); console.log("Today's weekday: " +dateObj.getDay()); </script>
Output: 0 (representing Sunday)
Преобразование getDay() в название дня
Давайте рассмотрим пример программы, в которой мы получим название дня из значения getDay(), используя массив.
<script> // Creating an array object with initializing value 7. let day_names = new Array(7); day_names[0] = "Sunday"; day_names[1] = "Monday"; day_names[2] = "Tuesday"; day_names[3] = "Wednesday"; day_names[4] = "Thursday"; day_names[5] = "Friday"; day_names[6] = "Saturday"; let dateObj = new Date("August 15, 1947 20:22:10"); let day_now = dateObj.getDay(); console.log("Name of day on 15 Aug 1947: " +day_names[day_now]); </script>
Output: Name of day on 15 Aug 1947: Friday
3. getMonth(): Этот метод возвращает месяц года для указанной даты по местному времени. Значение, возвращаемое методом getMonth(), представляет собой целое число от 0 до 11. Здесь 0 представляет январь, 1 — февраль и т. д.
Общий синтаксис для получения месяца года выглядит следующим образом:
dateObj.getMonth();
Давайте рассмотрим пример, в котором мы распечатаем текущий месяц.
<script> var dateObj = new Date(); console.log("Current month: " +dateObj.getMonth()); </script>
Output: Current month: 6
Преобразование getMonth() в название месяца
Существует два способа преобразования getMonth() в название месяца:
- Использование массива
- Использование функции
Пример: использование массива для возврата названия месяца
<script> // Create an array object named month_names of size 12. let month_names = new Array(12); month_names[0] = "January"; month_names[1] = "February"; month_names[2] = "March"; month_names[3] = "April"; month_names[4] = "May"; month_names[5] = "June"; month_names[6] = "July"; month_names[7] = "August"; month_names[8] = "September"; month_names[9] = "October"; month_names[10] = "November"; month_names[11] = "December"; // Create a Date object. let dateObj = new Date(1992, 09, 08); let monthName = dateObj.getMonth(); console.log("Name of month: " +month_names[monthName]); </script>
Output: Name of month: October
Пример: использование функции для возврата названия месяца
<script> // Create a function named monthName with one parameter. function monthName(monthValue) { switch(monthValue) { case 0: return "January"; case 1: return "February"; case 2: return "March"; case 3: return "April"; case 4: return "May"; case 5: return "June"; case 6: return "July"; case 7: return "August"; case 8: return "September"; case 9: return "October"; case 10: return "November"; case 11: return "December"; } } // Create a Date object. let dateObj = new Date(1992, 11, 08); let mth = dateObj.getMonth(); console.log("Name of month: " +monthName(mth)); </script>
Output: Name of month: December
В этом примере мы передали значение getMonth() в качестве аргумента функции monthName(). Затем оператор switch() использует его для оценки значения и возврата точной строки.
4. getFullYear(): Этот метод возвращает год в виде четырех цифр (2021, 2022 и т. д.) для указанной даты по местному времени. Общий синтаксис для получения года выглядит следующим образом:
dateObj.getFullYear();
Давайте рассмотрим пример программы для печати значения текущего года по местному времени.
<script> let dateObj = new Date(); let yearValue = dateObj.getFullYear(); console.log("Current Year: " +yearValue); let dateObj2 = new Date("December 31, 2022 20:22:10 GMT+11:00"); let dateObj3 = new Date("December 31, 2022 20:22:10 GMT-11:00"); console.log("Year1: " +dateObj2.getFullYear()); console.log("Year2: " +dateObj3.getFullYear()); </script>
Output: Current Year: 2022 Year1: 2022 Year2: 2023
5. getHours(): Этот метод возвращает свойство часа (от 0 (полночь) до 23 (11:00 PM))) указанного объекта Date по местному времени. Общий синтаксис для получения часа дня выглядит следующим образом:
dateObj.getHours();
6. getMintues(): Этот метод возвращает свойство минут (от 0 до 59) указанного объекта Date по местному времени. Общий синтаксис такой:
dateObj.getMinutes();
7. getSeconds(): Этот метод возвращает второе свойство (от 0 до 59) указанного объекта Date на основе местного времени. Общий синтаксис такой:
dateObj.getSeconds();
8. getMilliseconds(): Этот метод возвращает свойство миллисекунд (от 0 до 999) указанного объекта Date на основе местного времени. Общий синтаксис такой:
dateObj.getMilliseconds();
9. getTime(): Этот метод возвращает числовое значение, связанное со временем указанного объекта Date на основе местного времени. Значение, возвращаемое методом getTime(), представляет собой количество миллисекунд с 1 января 1970 года по Гринвичу. Общий синтаксис выглядит следующим образом:
dateObj.getTime();
В этом уроке вы изучили объект JavaScript Date и его различные методы с множеством примеров программ. Надеюсь, вы поняли, как устанавливать и получать дату и время из объекта Date.