2014-01-22 84 views
0

我有一個日期選擇器和一些時間段在我看來。時間段是複選框,複選框的值應該是一個時間戳,我希望通過組合datepicker的值和用戶檢查的複選框插槽來獲取時間戳。有沒有什麼辦法使用jquery的javascript來做到這一點。如何從日期和時間創建時間戳

例子:

$('#inline_datepicker').datepicker("getDate") + "02:30PM" => create timestamp 
+0

你需要什麼格式的時間戳? – Foreever

+0

可能的重複[你如何在JavaScript中獲取時間戳?](http://stackoverflow.com/questions/221294/how-do-you-get-a-timestamp-in-javascript) – Foreever

回答

2

嘗試

var date = $('#inline_datepicker').datepicker("getDate"); 
//24 hour clock 
date.setHours(14, 30); 
console.log(date) 

演示:Fiddle

爲了讓時間以毫秒爲單位使用date.getTime()

+0

可能想提及' date.getTime()'如果OP特別想要一個時間戳 – Phil

+0

@Phil是.... –

+0

這是爲什麼downvoted? – Phil

3

我不清楚在什麼你」重新尋找這裏,但只是得到一個基本的時間戳在聖使用毫秒環格式(從1970年1月1日午夜,由於是標準),則可以只做到這一點使用香草的javascript:

var timestamp = new Date(2014,1,3,18).getTime(); 

格式爲YYYY/MM/DD/HH,並根據是零而且如果你是來自美國的話,這些時間會使用24小時制,也稱爲軍事時間。上面的例子給出了2014年2月4日下午6點的時間戳。

然後,您也可以通過將時間添加到該值來爲時間戳添加時間。 1天24小時,1小時60分鐘,1分鐘60秒,1秒1000毫秒。創建一個時間戳後,這意味着,如果你想增加4天,13小時,49分6秒,你可以這樣做:

var timestamp = new Date(2014,1,3,18).getTime(); 
timestamp += (((4*24+13)*60+49)*60+6)*1000; 

最後,你總是可以重新轉換爲人類可讀的時間戳使用.toUTCString()方法與創建新的Date對象一起使用。最終的代碼會這樣讀取:

var timestamp= new Date(2014,1,3,18).getTime(); 
console.log(new Date(timestamp).toUTCString()); 
/* Outputs "Sun, 04 Feb 2014 18:00:00 GMT" */ 

timestamp += (((4*24+13)*60+49)*60+6)*1000; 
console.log(new Date(timestamp).toUTCString()); 
/* Outputs "Sun, 09 Feb 2014 07:49:06 GMT" */ 
+0

如果您在計算中遇到任何問題,我會很樂意將它切換到變量和/或向您展示如何將它放入函數中。 –