Konvertieren Sie das Datum von einer Zeichenfolge in das Datumsformat des Eingabetyps
P粉587780103
P粉587780103 2023-09-05 21:31:29
0
1
570
<p>Ich habe einen HTML-Eingabetyp „datetime-local“, den ich dann in einem datetime-Feld in einer MS SQL Server-Datenbank speichere. Wenn ich die Bearbeitungsseite lade, möchte ich dieses HTML-Datumsfeld mit dem Wert aus der Datenbank füllen. Wenn ich den Wert des Datums tröste, ist es: „Dienstag, 16. Mai 2023 15:40:00 GMT+0200 (South African Standard Time)“ Hat jemand erfolgreich Javascript verwendet, um eine solche Zeichenfolge in ein akzeptables HTML-Datumseingabeformat zu konvertieren? </p>
P粉587780103
P粉587780103

Antworte allen(1)
P粉788765679

Js 具有内置方法,您可以使用这些方法来处理日期。

在下面的例子中我:

  • 使用 Date 方法将输入字符串转换为 Date 对象。
  • 使用 getFullYear 方法从 Date 对象中提取年份。
  • 使用 getMonth 方法从 Date 对象中提取月份。
    • 由于 getMonth 方法返回从零开始的月份索引(一月 = 0、二月 = 1 等),因此我们必须执行以下操作:结果 + 1。
    • 将月份转换为字符串。
    • 使用 padStart 方法确保月份字符串的长度为 2 个字符。示例:如果提取的值 = 1,则月份 = 01。
  • 使用 getDay 方法从 Date 对象中提取日期。
    • 将日期转换为字符串。
    • 使用 padStart 方法确保日期字符串的长度为 2 个字符。示例:如果提取的值 = 1,则日期 = 01。
  • 设置日期格式,使其适合 HTML 输入格式。
  • 将 HTML 元素值替换为我们提取的值。

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>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage