JavaScript:
Преобразование даты в строку
Как это сделать:
JavaScript имеет встроенные методы для преобразования дат в строки. Вот как их использовать:
const now = new Date();
// toLocaleString() - локальный формат
console.log(now.toLocaleString()); // '4/1/2023, 12:00:00 PM'
// toString() - стандартный формат
console.log(now.toString()); // 'Sat Apr 01 2023 12:00:00 GMT+0100 (Центральноевропейское стандартное время)'
// toISOString() - формат ISO (отлично подходит для баз данных/сети)
console.log(now.toISOString()); // '2023-04-01T11:00:00.000Z'
Подробнее
Раньше преобразование даты в строку было путаницей — никаких стандартов, только куча пользовательских функций. К счастью, ECMAScript вступил в игру, стандартизировал объект Date в ES5 и добавил очень удобный toISOString()
в ES5.1.
Альтернативы встроенным методам включают в себя библиотеки, такие как moment.js
и date-fns
, которые предлагают больше контроля и обработки часовых поясов, но они увеличивают размер вашего проекта.
Под капотом, когда вы вызываете метод преобразования даты в строку, JavaScript взаимодействует с локальными настройками системы и информацией о часовом поясе для генерации строкового вывода. В отличие от этого, toISOString()
всегда возвращает время UTC (‘Z’ означает ‘Zulu time’ или нулевое смещение от UTC).