В JavaScript преобразуйте числа в формат даты ггггммдд в мм / дд / гггг - PullRequest
2 голосов
/ 21 марта 2012

Я беру канал XML и записываю его в HTML с использованием JavaScript.

Поле даты содержит:

20120319

Что я хочу сделать, так это конвертироватьв более удобочитаемом формате, например:

03/19/2012

Есть ли простой способ сделать это в JavaScript?

Ответы [ 3 ]

7 голосов
/ 21 марта 2012

В идеале вы должны использовать формат даты без учета региональных параметров, например «2012-03-19», который недвусмыслен во всем мире.Тем не менее:

var dateStr = "20120319";
var match = dateStr.match(/(\d{4})(\d{2})(\d{2})/);
var betterDateStr = match[2] + '/' + match[3] + '/' + match[1];

будет делать то, что вы хотите.Это жесткие коды MDY.Если вы хотите использовать DMY, как это используется в большинстве стран Европы, то поменяйте местами match[2] и match[3].

. Если вы хотите, чтобы эвристика обнаружила, предпочитает ли текущий языковой стандарт месяц или день, то

(new Date('01/02/1970').getDate() === 2)

может помочь.

6 голосов
/ 21 марта 2012

Один из способов написать:

s = s.replace(/(\d\d\d\d)(\d\d)(\d\d)/g, '$2/$3/$1');

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

0 голосов
/ 20 сентября 2018

Другой способ - написать

var s = String("20181011"); s = s.slice(4,6)+"/"+s.slice(6,8)+"/"+s.slice(0,4)

, в котором используется только объект String.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...