如何使用Javascript / jquery设置浏览器的时区

How to set browser's timezone using Javascript / jquery

本问题已经有最佳答案,请猛点这里访问。

我已经完成了很多线程,看起来我们无法以编程方式更改浏览器的时区。我们有moment-timezone.js库,我们可以使用它来设置时区,但这只适用于它的对象。如果您仍在使用javascript本机新Date(),那么您仍将在浏览器时区中获取日期。

我正在使用angularjs应用程序,我使用kendo Ui Widgets和momentjs库来表示日期。

我将不得不在代码中的任何地方独立处理Kendo和momentjs。这里再次提出的问题是,我们是否真的没有办法像编程一样使用JVM user.timezone VM参数为Java应用程序设置浏览器时区?

谢谢马特,但我无法控制哪个浏览器用户会使用。我可以覆盖javascript日期构造函数,您是否看到该方法中的任何问题?

1
2
3
4
5
6
7
8
9
    var origConst = Date.prototype.constructor;
Date = function(Date) {
    var d = new origConst();
    var timeZoneDiff = -5; //time zone value of user
    //get the timezone offset from local time in minutes
    var tzDifference = timeZoneDiff * 60 + d.getTimezoneOffset();
    var newD = new origConst(d.getTime() + (tzDifference * 60 * 1000));
    return newD;
};


JavaScript Date对象的时区偏移完全取决于操作系统的区域设置。 它无法通过JavaScript代码进行更改。