Объект 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.







