
При разработке веб-приложений может потребоваться указать текущую дату выполнения определенной операции.
Например, при подаче данных через форму можно указать дату создания данных или дату отправки формы.
В этой статье мы узнаем, как легко получить текущую дату с помощью JavaScript с нуля. Мы также узнаем, как это сделать с помощью внешней библиотеки, таких как Moment.js, популярной библиотеки дат JavaScript.
Примечание – в общем-то, не рекомендуется использовать внешнюю библиотеку для такой операции. Но если в вашем проекте уже установлена библиотека или вы используете ее для других операций в своей программе, вы можете использовать ее.
Как получить текущую дату в JavaScript
В JavaScript мы можем легко получить текущую дату или время, используя new Date()
объект. По умолчанию он использует часовой пояс нашего браузера и отображает дату в виде полной текстовой строки, например «Пт, 17 июня 2022 года, 10:54:59 GMT+0100 (британское летнее время)», содержащий текущую дату, время и время. зона.
const date = new Date();
console.log(date); // Fri Jun 17 2022 11:27:28 GMT+0100 (British Summer Time)
Давайте посмотрим, как мы можем извлечь только дату из этой длинной строчки. Мы сделаем его более читабельным и понятным для пользователей с помощью некоторых методов JavaScript, работающих с объектом даты.
Как использовать методы JavaScript Date
Объект date поддерживает многочисленные методы даты, но для этой статьи нам нужна только текущая дата, и мы будем использовать только три метода:
getFullYear()
– мы будем использовать этот метод, чтобы получить год в виде четырехзначного числа (рррр), например 2022 года.getMonth()
– Это получает месяц в виде числа (0-11), например, 2 для марта, поскольку это нулевой индекс (это означает, что он начинается с 0).getDate()
– получает день в виде числа (1-31).
Давайте объединим все это на основе формата, в котором мы хотим, чтобы наша дата отображалась:
const date = new Date();
let day = date.getDate();
let month = date.getMonth() + 1;
let year = date.getFullYear();
// This arrangement can be altered based on how we want the date's format to appear.
let currentDate = `${day}-${month}-${year}`;
console.log(currentDate); // "17-6-2022"
Примечание: Мы добавили один к date.getMonth()
‘s значение, поскольку это 0
-индексация на основе Предположим, что мы не хотим использовать дефис(-) между нашими значениями даты, все, что нам нужно сделать, это заменить тире на то, что нам нравится.
Как использовать метод toJSON()
Мы только что увидели, как получить текущую дату с помощью методов даты. Теперь давайте посмотрим, как использовать toJSON()
метод, который возвращает нашу дату в yyyy-mm-dd
формат в дополнение к формату времени, hh:mm:ss.ms
.
let date = new Date().toJSON();
console.log(date); // 2022-06-17T11:06:50.369Z
Поскольку нужна только текущая дата, мы можем использовать slice()
метод таким образом, чтобы получить первые 10 символов:
let currentDate = new Date().toJSON().slice(0, 10);
console.log(currentDate); // "2022-06-17"
Как использовать toLocaleDateString()
Это еще один простой метод, возвращающий объект даты в виде строки с использованием локальных условий. Например, формат даты отличается на разных языках, и этот метод принимает аргумент, чтобы исправить это.
Начнем с передачи аргумента:
let date = new Date().toLocaleDateString();
console.log(date); // 6/17/2022
Допустим, мы хотим время в Германии:
let date = new Date().toLocaleDateString("de-DE");
console.log(date); // 17.6.2022
Примечание. Здесь можно получить список всех кодов языков.
Как использовать Moment.js
Moment.js является одним из популярнейших пакетов дат, доступных каждому, и мы можем использовать его, чтобы получить текущую дату.
Если в вашем проекте установлен Moment.js, все, что вам нужно сделать, это получить текущую дату, как показано ниже:
var date = moment();
var currentDate = date.format('D/MM/YYYY');
console.log(currentDate); // "17/06/2022"
Мы можем манипулировать ею в зависимости от того, как мы хотим, чтобы отображался формат даты.
Вывод
В этой статье мы узнали о разных подходах для получения текущей даты с помощью отдельного JavaScript или с внешней библиотекой JavaScript.
Более подробно о том, как легко форматировать даты, можно прочитать здесь.