Une fonction simple pour analyser la chaîne dans l'OP est:
// Return a Date object
// Expects string in format d/m/y h:m:s
// Separator is not important, order is
function parseDate(s) {
var b = s.split(/\D+/);
return new Date(b[2], --b[1], b[0], b[3], b[4], b[5]);
}
ou si vous voulez juste reformater la chaîne (I deviné que vous ne voulez pas les espaces entre les nombres et le séparateur):
// Return a date in "yyyy/mm/dd" format
// Expects string in format d/m/y h:m:s
// Separator is not important, order is
function reformatDate(s) {
// Helper to format single digit numbers
function z(n) {return (n<10? '0' : '') + +n;}
var b = s.split(/\D+/);
return b[2] + '/' + z(b[1]) + '/' + z(b[0]);
}
La fonction d'aide est utilisée juste n cas les nombres à un seul chiffre ne sont pas complétés dans l'entrée. Si vous êtes sûr qu'ils le sont toujours, vous pouvez l'enlever.
D'abord, analyser la chaîne dans ses parties constitutives. Utilisez ensuite dans le [* Date constructeur *] (http://ecma-international.org/ecma-262/5.1/#sec-15.9.3.1) pour faire une date. Ensuite, utilisez des méthodes comme [* getFullYear *] (http://ecma-international.org/ecma-262/5.1/#sec-15.9.5.10), [* getMonth *] (http://ecma-international.org/ ecma-262/5.1/# sec-15.9.5.12), etc. pour construire le format que vous voulez. – RobG