使用Javascript从字符串中提取日期和时间

Sup*_*Man 3 javascript datetime

我有一个由系统生成的日期时间字符串.例如:Fri Feb 08 2013 09:47:57 GMT +0530(IST)我需要提取日期(02/08/2013)和时间(09:47 am)并将其存储在两个变量中.有没有一种有效的方法来使用Javascript?

编辑:我写了以下代码.

var day = elementDate.getDate(); //Date of the month: 2 in our example
            var monthNo = elementDate.getMonth(); //Month of the Year: 0-based index, so 1 in our example
            var monthDesc = {'0':'January', '1':'February'}; //, "March", "April", "May", "June", "July", "August", "September", "October", "November", "December");
            var year = elementDate.getFullYear() //Year: 2013
            var hours = elementDate.getHours();
            var mins = elementDate.getMinutes();
            var lDateValue = (year.toString() + "-" + monthNo.toString() + "-" + day.toString());

document.getElementById("lDate").value = lDateValue;
Run Code Online (Sandbox Code Playgroud)

我的HTML中有这个:

<input type="date" name="name" id="lDate" class="custom" value=""/>
                <input type="time" name="name" id="lTime" class="custom" value=""  />
Run Code Online (Sandbox Code Playgroud)

这些字段没有得到更新.我错过了什么吗?

phe*_*nal 19

Date构造函数非常擅长从字符串创建日期:

使用以下内容:

// This could be any Date String
var str = "Fri Feb 08 2013 09:47:57 GMT +0530 (IST)";
var date = new Date(str);
Run Code Online (Sandbox Code Playgroud)

这将使您可以访问所有日期函数(MDN)

例如:

var day = date.getDate(); //Date of the month: 2 in our example
var month = date.getMonth(); //Month of the Year: 0-based index, so 1 in our example
var year = date.getFullYear() //Year: 2013
Run Code Online (Sandbox Code Playgroud)


iSh*_*ash 16

您可以借助方法.toLocaleDateString().toTimeString()使用Date 构造函数直接获取日期和时间字符串,如下所示:

let dateStr =new Date("Wed Aug 05 18:11:48 UTC 2020")

dateStr.toLocaleDateString()
// "05/08/2020"

dateStr.toTimeString()
// "23:41:48 GMT+0530 (India Standard Time)"
Run Code Online (Sandbox Code Playgroud)