Рубрики
Без рубрики

Дата JavaScript сейчас – как получить текущую дату в JavaScript

Многие приложения, которые вы создаете, будет иметь какой-то компонент даты, будь то дата создания ресурса или временем деятельности. Работа с форматированием даты и метки времени может быть исчерпана. В этом руководстве вы узнаете, как получить текущую дату в различных форматах

Многие приложения, которые вы создаете, будет иметь какой-то компонент даты, будь то дата создания ресурса или временем деятельности.

Работа с форматированием даты и метки времени может быть исчерпана. В этом руководстве вы узнаете, как получить текущую дату в различных форматах в JavaScript.

JavaScript Date объект

JavaScript имеет встроенный Дата Объект, который хранит дату и время и предоставляет методы для обработки их.

Чтобы создать новый экземпляр Дата Объект, используйте Новый ключевое слово:

const date = new Date();

Дата Объект содержит Номер Это представляет миллисекунды, прошедшие с момента эпохи, то есть 1 января 1970 года.

Вы можете пройти строку даты в Дата Конструктор для создания объекта на указанную дату:

const date = new Date('Jul 12 2011');

Чтобы получить текущий год, используйте GetLyear () Способ экземпляра Дата объект. GetLyear () Метод возвращает год указанной даты в Дата конструктор:

const currentYear = date.getFullYear();
console.log(currentYear); //2020

Точно так же существуют методы получения текущего дня месяца и текущего месяца:

const today = date.getDate();
const currentMonth = date.getMonth() + 1; 

getdate () Метод возвращает текущий день месяца (1-31).

GetMonth () Метод возвращает месяц указанной даты. Одна точка, чтобы заметку о GetMonth () Способ заключается в том, что он возвращает 0-индексированные значения (0-11), где 0 на январь и 11 за декабрь. Следовательно, добавление 1 к нормализации ценности месяца.

Дата сейчас

сейчас () это статический метод Дата объект. Возвращает значение в миллисекундах, которые представляют время, прошедшее с момента эпохи. Вы можете пройти в миллисекунды, возвращенные из сейчас () Метод в Дата Конструктор для создания нового Дата объект:

const timeElapsed = Date.now();
const today = new Date(timeElapsed);

Форматирование даты

Вы можете отформатировать дату в несколько форматов (GMT, ISO и т. Д.) Использование методов Дата объект.

TODATESTRING () Метод возвращает дату в читаемом формате человека:

today.toDateString(); // "Sun Jun 14 2020"

ToisoString () Метод возвращает дату, которая следует за расширенным форматом ISO 8601:

today.toISOString(); // "2020-06-13T18:30:00.000Z"

ToutcString () Метод возвращает дату в формате часового пояса UTC:

today.toUTCString(); // "Sat, 13 Jun 2020 18:30:00 GMT"

Толокаледатестроинг () Метод возвращает дату в зависимости от местности формата:

today.toLocaleDateString(); // "6/14/2020"

Вы можете найти полную ссылку на Дата Методы в Документация MDN Отказ

Функция нестандартной даты

Помимо форматов, упомянутых в вышеуказанном разделе, ваше приложение может иметь другой формат для данных. Это может быть в YY/DD/мм или yyyy-dd-mm формат или что-то подобное.

Чтобы решить эту проблему, было бы лучше создать многоразовую функцию, чтобы ее можно было использовать в нескольких проектах.

Таким образом, в этом разделе давайте создадим функцию утилиты, которая вернет дату в формате, указанном в аргументе функции:

const today = new Date();

function formatDate(date, format) {
	//
}

formatDate(today, 'mm/dd/yy');

Вам нужно заменить строки «мм», «ДД», «YY» с соответствующим месяцем, дневным и летним значениями из строки формата, передаваемой в аргументе.

Чтобы сделать это, вы можете использовать заменить () Метод, как показано ниже:

format.replace('mm', date.getMonth() + 1);

Но это приведет к большому количеству цепочковых методов и затрудняет обслуживание, поскольку вы пытаетесь сделать функцию более гибкой:

format.replace('mm', date.getMonth() + 1)
    .replace('yy', date.getFullYear())
	.replace('dd', date.getDate());

Вместо методов цепочки вы можете использовать регулярное выражение с заменить () метод.

Сначала создайте объект, который будет представлять собой пару клавишной пары подстроки и ее соответствующее значение:

const formatMap = {
	mm: date.getMonth() + 1,
    dd: date.getDate(),
    yy: date.getFullYear().toString().slice(-2),
    yyyy: date.getFullYear()
};

Далее используйте регулярное выражение, чтобы соответствовать и заменить строки:

formattedDate = format.replace(/mm|dd|yy|yyy/gi, matched => map[matched]);

Полная функция выглядит так:

function formatDate(date, format) {
    const map = {
        mm: date.getMonth() + 1,
        dd: date.getDate(),
        yy: date.getFullYear().toString().slice(-2),
        yyyy: date.getFullYear()
    }

    return format.replace(/mm|dd|yy|yyy/gi, matched => map[matched])
}

Вы также можете добавить возможность форматировать Timestamps в функции.

Заключение

Я надеюсь, что у вас сейчас лучше понимание Дата объект в JavaScript. Вы также можете использовать другие сторонние библиотеки, такие как Датенью и момент обрабатывать даты в вашем приложении.

До следующего раза оставайся в безопасности и держись сущности.

Оригинал: “https://www.freecodecamp.org/news/javascript-date-now-how-to-get-the-current-date-in-javascript/”