我从mysql datebase('datetime'列值)中检索了一个datetime值,在通过ajax调用检索它之后,当我创建Date对象时,它认为datetime是在EST时间。但是在DB中它存储在GMT时间内。如何让javascript将值视为GMT时间?
这是我的代码:
timestamp = new Date(data[i].startTime);
alert(timestamp.getTime());
警报显示相同的确切时间,但在当地时间(EST)考虑。 IE:如果data [i] .startTime读作"2012-11-27 09:05:18"
,则警报报告1354025118.
此毫秒数虽然指的是2012-11-27 09:05:18 GMT-0500
(或2012-11-27 14:05:18
)
答案 0 :(得分:0)
如何让javascript将该值视为GMT时间?
要使Date
constructor不使用本地(当前用户)时区,请使用带有时区信息的日期时间字符串,例如"2012-11-27 09:05:18 GMT"
。但是,很难找到每个浏览器可靠解析的格式 - Date.parse
算法依赖于实现。更好的是,使用unix时间戳,即unix epoch后的毫秒,或使用正则表达式将字符串分解为部分,然后将其提供给Date.UTC
。