Разбор дат с помощью регулярных выражений в JavaScript - PullRequest
0 голосов
/ 30 июня 2009

Я использую match () в JavaScript для разбора дат из RSS-канала, я просто не могу найти правильное регулярное выражение, чтобы найти формат даты.

Вот дата:

2009-05-11 16:59:20

И регулярное выражение до сих пор:

if (dateToParse.match(/^\d\d\d\d-\d\d-\d\d/)) {
        dateTimeSeparator = " ";
        monthIndex = 0;
        dayIndex = 1;
        yearIndex = 2;
}

Ответы [ 3 ]

2 голосов
/ 30 июня 2009

Надеюсь, это поможет:

var digitpattern = /\d+/g,
    datetime = '2009-05-11 16:59:20',
    matches = datetime.match(digitpattern);

console.log ('year = ' + matches[0]);
console.log ('month = ' + matches[1]);
console.log ('day = ' + matches[2]);
console.log ('hour = ' + matches[3]);
console.log ('minutes = ' + matches[4]);
console.log ('seconds = ' + matches[5]);

Или вы можете использовать что-то вроде DateJS .

2 голосов
/ 30 июня 2009
/^(\d{4})-(\d{2})-(\d{2}) (\d{2}):(\d{2}):(\d{2})$/

Это помещает дату в группы с первой по третью, а время в группы с четвертой по шестую.

0 голосов
/ 30 июня 2009

Я думаю, что вместо того, чтобы бороться с регулярным выражением, вы должны попробовать date.js . Он все еще в альфа-версии, но выглядит очень многообещающе со всеми версиями, специфичными для его культуры.

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