2015-11-26 34 views
1

我有一個日期時間格式爲28/11/2015 09:41 PM,我想將它轉換爲紀元時間戳。我怎麼用javascript做到這一點?如何將12小時日期時間轉換爲帶有javascript的時間戳

此外:我想添加和減去從該時間戳7200秒,並將其轉換回原始格式。我怎樣才能做到這一點?是否有必要先將日期時間轉換爲時間戳?

回答

0

一個偉大的地方找到關於JavaScript的內置對象是MDN,其中有這篇文章(https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Date)上的日期時間(或者真的只是日期)對象的信息。

從Date對象獲取時期時間戳的方法是使用getTime()函數。它返回的毫秒數自1月1日,1970年

var dateNow = Date.now(); 
var epochNow = dateNow.getTime(); 

然後,您可以只秒添加到它:

epochNow += (7200 * 1000); // * 1000 because it's in milliseconds 

然後將其轉換回:

dateNow.setTime(epochNow); 

好運氣!

注意

當心JavaScript的日期實現的不一致性,特別是在早期版本的Internet Explorer。正如一些人已經指出的,像moment.js(http://momentjs.com/)這樣的好的庫對防止問題非常有幫助。但是,如果您只使用全新的瀏覽器或節點,則不應該有太多問題。

+0

我們不能簡單地使用'new Date(myDateString);'? JavaScript不會直接創建日期對象嗎? – SarathChandra

+1

只要日期字符串的格式正確,是的。然而,人們必須很好地理解哪些格式是好的,並且瀏覽器之間存在若干不一致。我發現RFC 2822時間戳(http://tools.ietf.org/html/rfc2822#page-14)是一致的。但@Lenny說他已經有了一個日期時間對象,所以他不需要創建一個新對象。 –

相關問題