使用以下格式,它會在所有的瀏覽器工作
var year = 2016;
var month = 02; // month varies from 0-11 (Jan-Dec)
var day = 23;
month = month<10?"0"+month:month; // to ensure YYYY-MM-DD format
day = day<10?"0"+day:day;
dateObj = new Date(year+"-"+month+"-"+day);
alert(dateObj);
//你的輸出應該是這樣的「週三2016年3月23日00:00:00 GMT + 0530 (IST)」
//注意,這將是在這種情況下,當前時區由IST表示,轉換爲UTC時區可以包括
alert(dateObj.toUTCSting);
//你現在的輸出會是這樣的「2016年3月22日18:30:00 GMT」
請注意,現在dateObj以GMT格式顯示時間,還請注意日期和時間已經相應地更改。
「toUTCSting」函數檢索格林威治子午線的相應時間。通過確定您當前的時區與格林尼治子午時區之間的時差來完成此操作。
在上述情況下,轉換前的時間爲2016年3月23日00:00小時和分鐘。並且在從GMT + 0530(IST)小時轉換爲GMT(基本上減去5.30小時在這種情況下給出時間戳),則時間反映了2016年3月22日的18.30小時(恰好在第一次後的5.30小時)。
進一步轉換任何Date對象時間戳您可以使用
alert(dateObj.getTime());
//輸出將類似於此的東西「1458671400000」
這會給你時間的唯一時間戳
只爲其他看着同樣的問題: 我結束了使用DateJS,它解決了我的問題整體。請參閱公認的答案的細節。 – Shrinath 2010-12-29 05:24:45
使用[moment.js](http://momentjs.com/docs/)解析時間戳。特別是在處理跨平臺網頁時 – 2013-08-07 05:52:25
這是一個老問題。從ECMAScript 2015開始,ISO 8601僅限日期的字符串被解析爲UTC。但是,可能仍然存在較舊的瀏覽器,它們根本不會解析它或將它視爲本地。 – RobG 2017-03-14 06:07:02