2016-08-10 1 views
3

Я прошел через много потоков на этом и похоже, что мы не можем изменить часовой пояс браузера программно. У нас есть библиотека time-timezone.js, с помощью которой мы можем установить часовой пояс, но это применимо только к его объектам. Если вы все еще используете javascript native new Date(), вы все равно получите дату в часовом поясе браузеров.Как установить часовой пояс браузера с помощью Javascript/jquery

У меня есть приложение angularjs, где я использую кендо Ui Widgets и библиотеку momentjs для дат.

Мне нужно будет заботиться обо всех Kendo и momentjs независимо друг от друга везде в коде. Таким образом, вопрос снова здесь: действительно ли НЕТ, мы можем программировать часовой пояс программно так же, как мы делаем для приложений Java, используя аргумент VMV для пользователя user.timezone VM?

Спасибо Мэтту, но я не могу контролировать, какой пользователь браузера будет использовать. Могу ли я переопределить конструктор даты javascript, вы видите какую-либо проблему в этом подходе?

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; 
}; 
+0

Правильно. Невозможно установить программный часовой пояс браузера по умолчанию. –

+0

Вы можете посмотреть [этот ответ] (http://stackoverflow.com/questions/26099858/change-timezone-of-browser) также, думаю, я не думаю, что это относится именно к описанному сценарию. –

ответ

1

Смещение часового пояса объектов JavaScript Дата полностью зависит от региональных настроек операционной системы. Он не может быть изменен с помощью кода JavaScript.