Как работать с объектом Date в JavaScript

JavaScript

Объект Date в JavaScript — это встроенный объект, позволяющий нам удобно работать с датами и временем.

Используя объект Date, мы можем узнать текущие дату и время, хранить собственные даты и время, выполнять вычисления с этими датами и преобразовывать даты в строки.

Мы можем установить и отобразить таймер на веб-странице с помощью объекта даты JavaScript.

Мы можем использовать различные конструкторы Date для создания экземпляров объекта date. Он предоставляет множество методов для установки и получения дня, месяца, года, часа, минуты и секунд. Он не имеет свойств.

JavaScript хранит дату как количество миллисекунд с полуночи 1 января 1970 года. Эта дата называется эпохой.

Конструктор дат 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.

Оцените статью
Adblock
detector