簡體   English   中英

在Javascript中將DateTime字符串轉換為時間戳

[英]Convert DateTime string to timestap in javascript

如果dd = "2012-08-20 01:16:00"; 將此日期轉換為時間戳(如下面的代碼所示)

var t = new Date(dd).getTime();

http://jsfiddle.net/userdude/DHxwR/

結果t = NaN為什么?

根據ECMA-262 (§15.9.1.15, 日期時間字符串格式 ,第169頁),要求接受的唯一日期字符串格式為:

[+YY]YYYY[-MM[-DD]][THH:mm[:ss[.sss]]]Z

其中Z要么Z (對於UTC)或偏移由任一一個的+-接着HH:mm 不應依賴特定瀏覽器支持的任何其他格式,因為不能保證持續的支持。

因此,用T替換空格並在將其傳遞給Date構造函數之前附加Z或固定時區偏移量。 例如,如果日期和時間在UTC + 8區域中:

var dd = "2012-08-20 01:16:00";
var t = new Date(dd.replace(' ', 'T') + '+08:00').getTime();

這將返回從1970年1月1日午夜UTC到指定日期的毫秒數,將其視為通用時間(如果附加Z )或本地時間指定的固定時區偏移量。

請注意,這將采取不同的行動,因為日期不會簡單地視為用戶系統時區的本地時間,就像您的問題示例那樣。 但是,我不能想到這樣做會有用的情況,因為根據用戶的配置會得到不同的結果 - 但實際上,無論你身在何處,兩個日期之間的時差總是相同的。

嘗試在年,月和日值之間使用空格或逗號。

這很簡單:

+(new Date("2012-08-20 01:16:00"));

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM