2013-02-09 37 views
1

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

我有这个在我的HTML:

<input type="date" name="name" id="lDate" class="custom" value=""/> 
       <input type="time" name="name" id="lTime" class="custom" value="" /> 

的字段不会得到更新。 我错过了什么吗?

+0

日期构造函数应该能够tak e字符串,否则你可以使用正则表达式。 – elclanrs 2013-02-09 10:44:10

+0

+1代码添加 – SimonGates 2013-02-10 11:01:40

回答

12

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

使用以下命令:

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

这将然后给你访问到所有的日期函数(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 
+0

谢谢@phenomnomnominal。我已经包含了你的代码,但是我仍然无法更新输入字段。 – SuperFunMan 2013-02-10 10:59:44

+0

现在有效。我已将它们转换回不需要的字符串。 – SuperFunMan 2013-03-04 11:03:29