使用JavaScript中的正则表达式解析日期

时间:2009-06-30 10:35:18

标签: javascript regex datetime parsing

我在JavaScript中使用match()来解析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 个答案:

答案 0 :(得分:2)

/^(\d{4})-(\d{2})-(\d{2}) (\d{2}):(\d{2}):(\d{2})$/

这将日期放在第一组到第三组中,时间放在第四组到第六组中。

答案 1 :(得分:2)

希望这会有所帮助:

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 :(得分:0)

我认为你应该尝试date.js而不是与正则表达式斗争。它仍处于alpha状态,但看起来非常有前景,并且具有所有特定于文化的版本。