2009-06-30 8 views
0

J'utilise match() en JavaScript pour analyser les dates d'un flux RSS, je n'arrive pas à trouver l'expression régulière correcte pour trouver le format de la date.Analyse de la date avec des expressions régulières en JavaScript

est ici la date:

2009-05-11 16:59:20 

Et l'expression régulière jusqu'à présent:

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

Répondre

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

Cela met la date de la première à des groupes tiers, et le temps dans la suite de sixièmes groupes.

0

Je pense plutôt que de lutter avec regex, vous devriez essayer date.js. Il est toujours en alpha mais semble très prometteur avec toutes ses versions spécifiques à la culture.

+0

A la vôtre, juste besoin d'un hack rapide pour le moment, mais date.js semble vraiment intéressant. – Tom

2

Espérons que cela aide:

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

Ou, vous voudrez peut-être utiliser quelque chose comme DateJS.

Questions connexes