Maison >interface Web >js tutoriel >Comment puis-je convertir une chaîne jj-mm-aaaa en un objet date JavaScript ?
Convertir la chaîne jj-mm-aaaa en date
L'impossibilité d'analyser une chaîne jj-mm-aaaa en un objet date valide à l'aide Le constructeur Date de JavaScript est principalement dû à la présence du symbole '-', qui n'est pas reconnu par le constructeur. Pour surmonter cela, des approches alternatives sont nécessaires.
Solution : Scinder sur "-"
Une solution consiste à diviser la chaîne en ses composants individuels à l'aide du '-' symbole comme délimiteur, puis créez un nouvel objet Date en utilisant les valeurs du jour, du mois et de l'année :
var from = $("#datepicker").val().split("-") var f = new Date(from[2], from[1] - 1, from[0])
Solution : utilisez Regex
Les expressions régulières peuvent également être utilisé pour extraire les composants de date individuels et construire une chaîne de date valide :
var date = new Date("15-05-2018".replace( /(\d{2})-(\d{2})-(\d{4})/, "//"))
Recommandation : diviser sur "-"
Bien que les deux approches soient valides, la La méthode "split on -" est sans doute plus spécifique et efficace pour cette tâche particulière, car elle cible directement le format connu de la chaîne d'entrée sans s'appuyer sur une correspondance d'expression régulière potentiellement plus complexe.
Réutilisabilité
Si cette conversion est effectuée plusieurs fois dans le code, il est conseillé de l'encapsuler dans une fonction pour la réutilisabilité et la maintenabilité :
function toDate(dateStr) { var parts = dateStr.split("-") return new Date(parts[2], parts[1] - 1, parts[0]) }
Utilisation de la fonction :
var f = toDate($("#datepicker").val()) var t = toDate($("#datepickertwo").val())
JavaScript moderne
Pour les environnements JavaScript modernes, la déstructuration des tableaux peut simplifier le code :
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!