2010-03-25 3 views
1

J'essaie de trouver un moyen de formater une chaîne de date qui se trouve dans une chaîne à l'aide de javascript.Formatage d'une chaîne de date lorsque la chaîne se trouve dans une autre chaîne

La chaîne peut être:

"Bonjour De 2010-03-04 00: 00: 00.0 à 2010-03-31 00: 00: 00.0" trucs

ou

» comme 2010-03-04 20: 00: 00,0 et 2010-03-31 00: 00: 02.0 bla bla "

Je l'aime finir comme:

" trucs like 4 Mars 2010 et 31 mars 2010 bla bla "

Quelqu'un a-t-il une idée de la façon dont cela pourrait être réalisé?

Répondre

1

Si la date va toujours être ce format, vous pouvez le remplacer en utilisant une expression régulière:

var months = ["January", "February", "March", "April", "May", "June", "July", "August", "September", "October", "November", "December"]; 
str = "hello there From 2010-03-04 00:00:00.0 to 2010-03-31 00:00:00.0"; 
alert(str.replace(/(\d{4})-(\d{2})-(\d{2}) (\d{2}):(\d{2})\:(\d{2}).(\d{1})/g, 
    function ($0, $1, $2, $3, $4, $5, $6, $7, $8) 
    { 
     var date = new Date($1, $2, $3); 
     return date.getDate() + " " + months[date.getMonth()] + " " + date.getFullYear(); 
    }) 
); 

Exemple à http://jsbin.com/igeti/

0

Je suggère d'utiliser un regular expression pour localiser une chaîne de date, en supposant que vous connaissiez le format existant, puis vous pouvez le remplacer par la version formatée.

Questions connexes