Я прошел через много потоков на этом и похоже, что мы не можем изменить часовой пояс браузера программно. У нас есть библиотека 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;
};
Правильно. Невозможно установить программный часовой пояс браузера по умолчанию. –
Вы можете посмотреть [этот ответ] (http://stackoverflow.com/questions/26099858/change-timezone-of-browser) также, думаю, я не думаю, что это относится именно к описанному сценарию. –