Как я могу получить дату в формате гггг-мм-дд из даты ISO 8601 ?
Моя дата 8601
2013-03-10T02:00:00Z
Как я могу получить следующее?
2013-03-10
javascript
date
Neeraj
источник
источник
date.split("T")[0]
будет делатьОтветы:
Попробуй это
Обновить:-
Как указано в комментариях, я обновляю ответ, чтобы при необходимости печатать ведущие нули для даты и месяца.
источник
Просто обрежьте строку:
Или, если вам нужна только дата вне строки.
источник
YYYYY-MM-DD
в 10000 году. Чтобы избежать этого, вы можете разделить его наT
персонаж вместо этого. (См en.wikipedia.org/wiki/Year_10,000_problem )Вы можете проверить Moment.js , Luxon , date-fns или Day.js для удобной обработки даты.
Или просто извлеките первую часть строки ISO, она уже содержит то, что вы хотите. Вот пример разделения на
T
:источник
Moment.js выполнит форматирование даты за вас. Вот как включить его с помощью тега JavaScript, а затем пример того, как использовать Moment.js для форматирования даты.
источник
moment
- довольно большая библиотека, которую можно использовать только для форматирования. Скорее используйте date-fns, который намного меньше по размеру и дает ту же функциональность..toISODateString()
, потому что это очень частый случай ...Вот что я делаю только для свидания:
источник
Moment.js - довольно большая библиотека для единственного варианта использования. Я рекомендую использовать
date-fns
вместо этого. Он предлагает в основном большую часть функциональности Moment.js с гораздо меньшим размером пакета и многими другимиformatting options
.Следует отметить, что, поскольку это формат времени ISO 8601 , браузер обычно преобразует время в формате UTC в местный часовой пояс. Хотя это простой вариант использования, в котором вы, вероятно, можете сделать
'2013-03-10T02:00:00Z'.substring(0, 10);
.Для более сложных преобразований
date-fns
это лучший способ.источник
источник
Использование:
источник
Это выведет дату в формате ГГГГ-ММ-ДД:
источник
Передайте дату в объекте даты:
источник
Для всех, кто использует разбиение, срез и другие строковые попытки получить дату, вы можете настроить себя на ошибки, связанные с часовым поясом!
Строка ISO имеет Zulu-Timezone и дату в соответствии с этим часовым поясом, что означает, что она может использовать дату на день раньше или позже фактического часового пояса, который вы должны учитывать в своей цепочке преобразования.
См. Этот пример:
источник
Если у вас есть объект даты:
или
источник
Чтобы расширить решение rk rk : если вы хотите, чтобы формат включал время, вы можете добавить в
toTimeString()
свою строку, а затем удалить часть GMT следующим образом:источник
Лучшая версия ответа @Hozefa .
Если вы
date-fns
установили, вы можете использовать функцию formatISOисточник
Я использовал это:
Источник: http://gooplus.fr/en/2017/07/13/angular2-typescript-isodate-to-html-date/
источник
источник
источник
Используйте приведенный ниже код. Вам это пригодится.
источник