Conversion de chaînes jj-mm-aaaa en objets date en JavaScript
La tâche à accomplir est de convertir une chaîne au format "jj -mm-aaaa" vers un objet Date à l'aide de JavaScript. La fonction new Date(string) échoue lors de la tentative de conversion en raison de la présence du symbole '-'. Pour relever ce défi, plusieurs solutions s'offrent à vous.
1. Diviser sur "-"
Une approche consiste à diviser la chaîne en ses trois composants : jour, mois et année. Ceci peut être réalisé en utilisant la méthode split("-") :
var from = $("#datepicker").val().split("-"); var f = new Date(from[2], from[1] - 1, from[0]);
2. Utiliser des expressions régulières
Les expressions régulières peuvent être utilisées pour extraire le jour, le mois et l'année de la chaîne :
var date = new Date("15-05-2018".replace( /(\d{2})-(\d{2})-(\d{4})/, "//"));
3. Refactoriser en fonction
Si la conversion est requise plusieurs fois, il est conseillé de créer une fonction réutilisable :
function toDate(dateStr) { var parts = dateStr.split("-"); return new Date(parts[2], parts[1] - 1, parts[0]); }
Cette fonction peut être utilisée comme suit :
var from = $("#datepicker").val(); var f = toDate(from);
4. JavaScript moderne (ES6)
Dans ES6, la déstructuration des tableaux peut être utilisée pour extraire les composants :
const toDate = (dateStr) => { const [day, month, year] = dateStr.split("-"); return new Date(year, month - 1, day); };
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!