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代码进行更改。