Получить формат даты с учетом строки даты и времени - PullRequest
0 голосов
/ 18 февраля 2020

Скажем, у меня есть информация о дате и времени для какого-либо события, плюс соответствующая строка даты, которая может быть в любом формате, как я могу получить формат строки даты (например, 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"

Я полагаю, что некоторые сложные регулярные выражения могут помочь, но есть ли более элегантный метод?

...