Скажем, у меня есть информация о дате и времени для какого-либо события, плюс соответствующая строка даты, которая может быть в любом формате, как я могу получить формат строки даты (например, YYYY MM DD HH:mm
)?
Пример
Если у меня есть:
var date = new Date(2006, 0, 2, 15, 4, 0, 0);
var dateString1 = "Monday, January 2, 2006 15:04"
var dateString2 = "02 Jan 2006 - 3:04PM"
Как мне получить:
var dateFormat1 = "dddd, MMMM D, YYYY HH:mm"
var dateFormat2 = "DD MMM YYYY - H:MMA"
Пример в контексте
У меня есть HTML элемент <time datetime="2020-02-11T20:00:00+0000">11 Feb • 20h00</time>
. Я хочу взять время из атрибута datetime, добавить один час (или некоторые другие манипуляции), а затем вывести его в любом формате во внутреннем тексте. В этом примере вывод будет 11 Feb • 21h00
. Возможен любой формат внутреннего текста.
Бонус:
Еще лучше, если бы я мог также обрабатывать часовые пояса или смещения UT C, например,
var dateString3 = "Monday, January 2, 2006 15:04 MST"
var dateString4 = "Monday, January 2, 2006 15:04 -0700"
var dateFormat3 = "dddd, MMMM D, YYYY HH:mm z"
var dateFormat4 = "dddd, MMMM D, YYYY HH:mm ZZ"
Я полагаю, что некоторые сложные регулярные выражения могут помочь, но есть ли более элегантный метод?