Узнайте о дате и времени в Javascript, создав несколько классных 😎 вещей
Javascript имеет встроенный объект Date
для обработки всех операций, связанных со временем и датой. Например, вы можете отображать текущую дату / время, создать календарь, построить таймер Pomodoro, закодировать 🛑 секундомер и многое другое.
Создание объекта даты
Мы можем создать объект Date
с помощью оператора new
.
Этот метод возвращает текущую дату с указанием времени и часового пояса.
Есть 3 других способа создать дату при использовании ключевого слова new:
- Создание
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
- Чтобы получить текущее время в миллисекундах, мы можем использовать метод
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🚙, если чувствуете себя достойным.