将日期从字符串转换为输入类型日期格式
P粉587780103
P粉587780103 2023-09-05 21:31:29
0
1
572
<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>
热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板