Firefox中不同位置的Javascript日期格式显示不同

时间:2019-05-30 15:34:09

标签: javascript date firefox timezone-offset

我有一个构造HTML页面的JavaScript代码。 该页面有一个带有日期列的表。所需的日期格式为mm / dd / yyyy hh:mi:ss AM

在Javascript中,我从下面的代码生成这种格式。

预期输出为2019年7月7日 6:00:00 PM

当我在印度的计算机上运行javascript代码时,在我的所在地,我得到了预期的结果。 但是当客户运行它时,在他在美国的系统上,他发现时间有所偏移。

它看起来像下面在Firefox中提到的那样。

6/06/2019 2:00:00 04:00 PM

这可能是什么原因?而我该如何解决呢?

'<span>"06-06-2019 1:00:00 CDT PM".split('-')[1]+'/'+"06-06-2019 1:00:00 CDT PM".split('-')[0]+'/'+"06-06-2019 1:00:00 CDT PM".substr(6, 13).trim()+' '+"06-06-2019 1:00:00 CDT PM".substr(23)</span>'

1 个答案:

答案 0 :(得分:0)

简单的答案是 TimeZone 差异。每个人都有自己的浏览器和客户端上的Javascript工作,因此这是JavaScript的明显特征,但默认情况下它将显示本地日期时间。

您只需设置一个时区偏移值

即可设置该值
Date.prototype.getUTCLocalDate = function () {
    var target = new Date(this.valueOf());
    var offset = target.getTimezoneOffset();
    var year = target.getUTCFullYear();
    var month = target.getUTCMonth();
    var date = target.getUTCDate();
    var hour = target.getUTCHours();
    var minutes = target.getUTCMinutes();
    var seconds = target.getUTCSeconds();
    return new Date(Date.UTC(year , month , date , hour , minutes + offset, seconds ));
  };

或者您可以通过执行rest查询来获取服务器时区的偏移量,并自行设置偏移量以在任何地方显示唯一的时间。