Javascript日期创建差异-IE与chrome
我从后端系统得到一个表示日期的长消息。 我使用-newdate(long)将long转换为javascript日期 在IE和Chrome中,同一段时间我会有不同的日期。 正确的日期显示在Chrome中 例如:Javascript日期创建差异-IE与chrome,javascript,google-chrome,date,internet-explorer,Javascript,Google Chrome,Date,Internet Explorer,我从后端系统得到一个表示日期的长消息。 我使用-newdate(long)将long转换为javascript日期 在IE和Chrome中,同一段时间我会有不同的日期。 正确的日期显示在Chrome中 例如: 新日期(1032382800000) 在IE中,日期值为-Wed Sep 18 2002 23:00:00 GMT+0200。 在Chrome中,日期值为-2002年9月19日星期四00:00:00 GMT+0300 我怎样才能解决这个矛盾呢?我找到了一个解决办法。 由于时间在这些日期对
新日期(1032382800000)
在IE中,日期值为-Wed Sep 18 2002 23:00:00 GMT+0200。
在Chrome中,日期值为-2002年9月19日星期四00:00:00 GMT+0300
我怎样才能解决这个矛盾呢?我找到了一个解决办法。
由于时间在这些日期对象中不相关,因此我运行以下代码:
var iTimezoneOffset = dDate.getTimezoneOffset() - (new Date()).getTimezoneOffset();
if (iTimezoneOffset != 0) {
dDate.setMinutes(dDate.getMinutes() + iTimezoneOffset);
}
这两个日期相同。时区完全不同——一种情况下是+3,另一种情况下是+2。由于时区之间相隔一小时,因此在午夜休息一小时会使日期倒退一天。但在这两种情况下,UTC时间仍然完全相同。但用户看到的是两个不同的日期。我想一个问题是,为什么IE与Chrome位于不同的时区。除此之外,您可以将其视为UTC日期,因此该日期不依赖于本地时区。但我不确定这是否真的是您需要的。UTC日期在我的情况下是错误的日期在这种情况下,问题是为什么您将错误的日期作为Unix时间戳发送?时间戳始终以UTC为单位。两个日期实例应具有不同时区偏移的唯一原因是主机系统配置为遵守夏时制,并且日期位于夏时制边界的任一侧。这“有效”只是个机会。那么你建议我怎么做?