And*_*eKR 6 javascript firefox timezone google-chrome date
在SQL数据库中,我有一个来自不同时区的时间列表,但我既不关心也不关心相应的时区信息:
2012-01-01 01:02:03
2012-07-01 04:05:06
Run Code Online (Sandbox Code Playgroud)
对于输出我想用Javascript格式化它们.我试过了:
var text = input.replace(' ','T'); // SQL -> ISO8601
var d = new Date(Date.parse(text));
hours = d.getHours();
Run Code Online (Sandbox Code Playgroud)
问题是在Chrome中,日期被解释为以UTC格式转换为我的本地时区,因此我得到:
2
6
Run Code Online (Sandbox Code Playgroud)
而在Firefox中它被解释为当地时间,我得到我想要的:
1
4
Run Code Online (Sandbox Code Playgroud)
那么有一个更好的解决方案与Date对象或我坚持分裂字符串?
我找到的唯一解决方案是替换-为/:
input = "2012-01-01 01:02:03";
var text = input.replace('-', '/');
var d = new Date(Date.parse(text));
hours = d.getHours();
Run Code Online (Sandbox Code Playgroud)
在我的情况下输入是2013-05-22T16:45:00Z如此我被替换T,Z以及:
input = "2013-05-22T16:45:00Z";
var text = input.replace(/[TZ]/, '').replace('-', '/');
var d = new Date(Date.parse(text));
hours = d.getHours();
Run Code Online (Sandbox Code Playgroud)
这样Javascript就可以在不了解时区的情况下处理它并停止巧妙地行动.
| 归档时间: |
|
| 查看次数: |
5818 次 |
| 最近记录: |