js 将时间字符串转成秒 (Date.parse()) && 当心默认时区

来源:互联网 发布:淘宝网中老年人女装 编辑:程序博客网 时间:2024/06/03 18:31

参考文档:   https://developer.mozilla.org/zh-CN/docs/Web/JavaScript/Reference/Global_Objects/Date/parse

方法 :

Date.parse(dateString)
return :

一个表示从1970-1-1 00:00:00 UTC到给定日期字符串所表示时间的毫秒数的数值。如果参数不能解析为一个有效的日期,则返回NaN


但是必须要当心默认时区 ,手册:

当输入为 "March 7, 2014" 时, parse()  将默认使用本地时区。但如果使用 ISO  格式如 "2014-03-07" ,则会被默认为 UTC (ES5 和 ECMAScript 2015) 时区。  因此除非系统本地时区为 UTC,由这些字符串解析出的 Date  对象可能会因为 ECMAScript  版本不同而代表不同的时间。这意味着两个看起来等效的字符串可能因为它们的格式不同而被转换成不同的值。


所以 在转化时间的时候,如果不确定格式或者有几种格式或者使用的是ISO 格式的话, 需要后缀时区:

var time_diff = Date.parse(time_end + ' GMT +8') - Date.parse(time_begin + ' GMT +8');



原创粉丝点击