將日期從字串轉換為輸入類型日期格式
P粉587780103
P粉587780103 2023-09-05 21:31:29
0
1
574
<p>我有一個「datetime-local」的 HTML 輸入類型,然後將其儲存在 MS SQL Server 資料庫的日期時間欄位中。當我載入編輯頁面時,我想用資料庫中的值填入此 HTML 日期欄位。當我控制台出日期的值時,它是: 「2023 年 5 月 16 日星期二 15:40:00 GMT 0200(南非標準時間)」。 有沒有人成功地使用 Javascript 將這樣的字串轉換為可接受的 HTML 日期輸入格式? </p>
P粉587780103
P粉587780103

全部回覆(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>
熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板