我的问题是关于JavaScript中日期的手册引用:
用户的{p>注意:使用Date构造函数解析日期字符串(和 Date.parse,它们是等效的)因为强烈气馁 浏览器差异和不一致。
new Date('2016-04-14')
输出为Wed Apr 13 2016 17:00:00 GMT-0700 (US Mountain Standard Time)
,他必须使用.toUTCString()
。
如果用户位于许多不同的时区,如何处理?
答案 0 :(得分:1)
如果您使用
new Date().getTime();
它会在1970-01-01之后为客户所在的当前时区返回一个毫秒时间戳。然后可以将其转换回任何语言的日期。
如果您要向服务器和客户端之间发送日期,这将是传递日期的更好标准方法。在时区a中转换的毫秒时间戳ts将转换为01/01/2010,在时区b将转换为01/01/2010,因为它们取自1970-01-01
希望这可以看出来
答案 1 :(得分:1)
new Date().getTime();
返回一个整数值,作为 1970年1月1日以来客户端计算机上的时间。
由于这是一个整数值,因此它与区域设置,浏览器版本,不同浏览器(IE,Chrome,Mozilla或其他任何东西)无关。
因此,只要客户的时区已知,就可以在客户机器上为您提供一致的结果。
您可以使用getTimezoneOffset API
来获取客户端的时区偏移量var x = new Date();
var currentTimeZoneOffsetInHours = x.getTimezoneOffset() / 60;
这与new Date().getTime();
一起可以为您提供一致的结果。