2016-08-10 7 views
3

私はこれに多くのスレッドを実行しており、プログラムでブラウザのタイムゾーンを変更できないように見えます。タイムゾーンを設定できるmoment-timezone.jsライブラリがありますが、それはそのオブジェクトにのみ適用されます。あなたはまだJavaScriptのネイティブの新しいDate()を使用している場合、あなたはまだブラウザのタイムゾーンで日付を取得します。Javascript/jqueryを使用してブラウザのタイムゾーンを設定する方法

私は、剣道Uiウィジェットとmomentjsライブラリを日付のために使用しているangularjsアプリケーションを持っています。

私は剣道とmomentjsの両方をコード内のどこからでも個別に処理する必要があります。ここでもう一度質問しますが、JVMのuser.timezone VM引数を使用してJavaアプリケーションのようにプログラムでブラウザのタイムゾーンを設定する方法はありませんか?

Mattさん、ありがとうございますが、使用するブラウザユーザーを制御することはできません。 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コードで変更することはできません。

関連する問題