Convertir la date de la chaîne au format de date de type d'entrée
P粉587780103
P粉587780103 2023-09-05 21:31:29
0
1
586
<p>J'ai un type d'entrée HTML "datetime-local" que je stocke ensuite dans un champ datetime dans une base de données MS SQL Server. Lorsque je charge la page d'édition, je souhaite remplir ce champ de date HTML avec la valeur de la base de données. Quand je console la valeur de la date, c'est : "Mardi 16 mai 2023 15:40:00 GMT+0200 (heure normale d'Afrique du Sud)" . Quelqu'un a-t-il utilisé avec succès Javascript pour convertir une chaîne comme celle-ci en un format de saisie de date HTML acceptable ? </p>
P粉587780103
P粉587780103

répondre à tous(1)
P粉788765679

Js a des méthodes intégrées que vous pouvez utiliser pour gérer les dates.

Dans l'exemple ci-dessous, je :

  • Convertissez la chaîne d'entrée en un objet Date à l'aide de la méthode Date.
  • Extrayez l'année d'un objet Date en utilisant la méthode getFullYear.
  • Extrayez le mois de l'objet Date en utilisant la méthode getMonth.
    • Puisque la méthode getMonth renvoie l'indice mensuel de base zéro (janvier = 0, février = 1, etc.), nous devons faire ce qui suit : résultat + 1.
    • Convertir le mois en chaîne.
    • Utilisez la méthode padStart pour vous assurer que la chaîne du mois comporte 2 caractères. Exemple : Si la valeur extraite = 1, alors mois = 01.
  • Extrayez une date d'un objet Date en utilisant la méthode getDay.
    • Convertir la date en chaîne.
    • Utilisez la méthode padStart pour vous assurer que la chaîne de date comporte 2 caractères. Exemple : Si la valeur extraite = 1, alors date = 01.
  • Formatez la date pour qu'elle corresponde au format d'entrée HTML.
  • Remplacez la valeur de l'élément HTML par la valeur que nous avons extraite.

const input = "Tue May 19 2024 15:40:00 GMT+0200 (South Africa Standard Time)";
const inputDate = new Date(input);

const year = inputDate.getFullYear();
const month = (inputDate.getMonth() + 1).toString().padStart(2, "0");
const day = inputDate.getDate().toString().padStart(2, "0");

const formattedDate = `${year}-${month}-${day}`;
const datePicker = document.getElementById('datePicker');
datePicker.value = formattedDate;
<!DOCTYPE html>
<html lang="en">

<head>
    <meta charset="UTF-8">
    <meta http-equiv="X-UA-Compatible" content="IE=edge">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Document</title>
</head>

<body>
    <input type="date" id="datePicker" value="">
</body>

</html>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal