2013-02-09 64 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