0

I'm using match() in JavaScript to parse a dates from an RSS feed, I just can't get my head around the correct regular expression to find the date format.

Here's the date:

2009-05-11 16:59:20

And the regular expression so far:

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

3 Answers 3

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

This puts the date in the first to third groups, and the time in the forth to sixth groups.

Sign up to request clarification or add additional context in comments.

Comments

2

Hopefully this helps:

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]);

Or, you might like to use something like DateJS.

Comments

0

I think rather than struggling with regex you should try date.js. It is still in alpha but looks very promising with all its culture specific versions.

1 Comment

Cheers, just needed a quick hack for now but date.js looks really interesting.

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Start asking to get answers

Find the answer to your question by asking.

Ask question

Explore related questions

See similar questions with these tags.