Узнайте о дате и времени в Javascript, создав несколько классных 😎 вещей

Javascript имеет встроенный объект Date для обработки всех операций, связанных со временем и датой. Например, вы можете отображать текущую дату / время, создать календарь, построить таймер Pomodoro, закодировать 🛑 секундомер и многое другое.

Создание объекта даты

Мы можем создать объект Date с помощью оператора new.

Этот метод возвращает текущую дату с указанием времени и часового пояса.

Есть 3 других способа создать дату при использовании ключевого слова new:

  1. Создание Date объекта с миллисекундами

Мы можем создать объект даты, передав объекту Date номер отметки времени в миллисекундах. Например, new Date(1572840117245).

Когда мы создаем объект даты, передав ему 0 миллисекунд, он вернет объект даты для Jan 01 1970 05:30:00. Это дата / время эпохи Linux.

Время компьютеров основано на Linux Epoch(Jan 01 1970 05:30:00).

Поскольку этой начальной точке соответствует ноль миллисекунд, любое большее значение - это количество миллисекунд, прошедших с начала эпохи Linux.

Примечание: если концепция эпохи Linux сбивает с толку, продолжайте читать. Далее в статье мы увидим, как мы можем получить текущую временную метку эпохи в JS. Использование времени эпохи Linux - очень распространенный метод программирования, поскольку он дает нам точную точку отсчета для сравнения.

Давайте продолжим эту демонстрацию. В январе 31 день, 24 часа в каждом дне и 60 минут в час, 60 секунд в каждой минуте и 1000 миллисекунд в каждой секунде.

Итак, давайте передадим 31 * 24 * 60 * 60 * 1000 = 2678400000 объекту Date. Как и ожидалось, результатом будет 1 февраля 1970 года, то есть через месяц после эпохи Linux.

2. Создание объекта Date путем передачи каждого значения

3. Создание Date объекта с помощью dateString

Мы можем создать объект Date, передав строковое представление даты. Строковое представление принимается, если его можно проанализировать с помощью Date.parse().

Допустимый формат: YYYY-MM-DDTHH:mm:ss.sssZ.

ГГГГ → год

ММ → месяц

ДД → день

T → разделитель даты и времени

ЧЧ → часы

мм → минуты

сс → секунды

sss → миллисекунды

Z → Часовой пояс

Использование методов объекта Date для получения и обновления даты

Объект Date, который мы создали в предыдущем разделе, предоставляет множество методов для получения и обновления (установки) дат.

Во-первых, давайте изучим get методы:

Примеры

Мы можем изменить дату, используя методы set объекта Date.

Примеры

Уловки для объекта Date

  1. Чтобы получить текущее время в миллисекундах, мы можем использовать метод Date.now, который вернет общее количество миллисекунд с эпохи Linux.
Date.now(); // 1572840117245

Используя это время, вы можете позвонить new Date(1572840117245), и вы увидите, что оно соответствует текущей дате.

2. Чтобы получить форматированную строку, используйте метод toDateString:

var dt = new Date(22,5,1997);
dt.toDateString() // Sun Jun 22 1997

3. Найдите общее количество дней в месяце в Javascript.

Нам нужно создать функцию, которая принимает месяц (месяцы индексируются как 0–11 в JS) и год в качестве аргумента, и нам нужно вернуть количество дней в этом месяце.

Когда мы создаем объект Date с годом и месяцем, для дня месяца устанавливается значение 1.

Таким образом, если мы передадим new Date(5,2019), он вернет объект даты для 1st June 2019.

Не может быть месяца, в котором может быть больше 31 дня. Итак, если мы установим дату как 32, то

  • Если в текущем месяце 31 день → он указывает на первый день следующего месяца,
  • Если в текущем месяце 30 дней → он указывает на второй день следующего месяца,
  • Если в текущем месяце 29 дней → он указывает на третий день следующего месяца,
  • Если в текущем месяце 28 дней → он указывает на четвертый день следующего месяца,

Пример:

var d = new Date(2019, 0, 32); // Feb 01 2019
d.getDate(); // 1 (because Jan 2019 has 31 days)
var d = new Date(2019, 1, 32); Mar 04 2019
d.getDate(); // 4 (because Feb 2019 has 28 days)

Если мы снова subtract the current date from 32, тогда мы получим количество дней в предоставленном месяце.

Итак, давайте создадим функцию, которая возвращает количество дней, когда мы передаем год и месяц:

И это ключевые особенности объекта Date в JavaScript!

Если вы найдете этот полезный сюрприз, то я здесь.

Поделитесь, если вы счастливы.

Подпишитесь на Javascript Jeep🚙, если чувствуете себя достойным.