使用以下格式,它会在所有的浏览器工作
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