問題タブ [timezone-offset]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
javascript - Date.getTimezoneOffsetが反転しましたか?
サーバーからJSON応答があり、UTCUnixタイムスタンプが秒単位で返されます。これを、グラフで使用されるJavaScriptの日付に解析しています(ユーザーのロケールで時刻を表示します)。
私は明らかに(UTCで)持っているタイムスタンプをブラウザのロケールに変換する必要があるので、ブラウザのロケールで新しいものを作成し、それをDate
呼び出しgetTimezoneOffset()
て現在のロケールで「分単位のオフセット」を取得する関数を作成しました。 MDNは、両方をミリ秒に変換し、合計を返します。これで、ユーザーのロケールにJavaScript対応のUnixタイムスタンプがあります。
しかし、私はしません。
(new Date()).getTimezoneOffset()
結局のところ、GMT-5では(正の)300を返し、GMT+2では-120を返します。オフセットが反転するのはなぜですか?オフセットがタイムゾーンの符号と一致することを期待していました。つまり、GMT-5に到達するには300分を減算し、GMT+2に到達するには120分を加算する必要があります。代わりに、によって返される値を減算する必要がありますgetTimezoneOffset
php - UNIX タイムスタンプ (0): ヨーロッパ/ロンドンは UTC+1 を返します
日付を学んでいて、今は苦労しています。
結果:
UTC +0:00
真夜中のロンドンではないでしょうか?たとえば、New York は前の日付の 19:00 を返しますが、これは正しくはUTC -5:00
です。モスクワが戻っ01-01-1970 03-00-00
てきますが、これも正しくありません (UTC +3:00
とは対照的にUTC +4:00
)
ただし、を使用しない場合->setTimestamp
、ロンドンの現在の時刻は正しく表示されます。
ライブコード: http://sandbox.onlinephpfunctions.com/
また、私のローカル タイムゾーンはEurope/Prague
( UTC +1:00
) です。同様にテストさdate_default_timezone_set('Europe/London')
れました。
私のロジックにエラーがあると思いますか?
javascript - BST マシンでの Javascript GMT/BST 日付
日付を常に UTC として保存する Web アプリがありますが、それぞれ GMT/BST としてユーザーに表示する必要があります。
私は UTC/GMT の日付 (2013 年 3 月 30 日 22:00) を持っています。GMT/BST の境界を越えるために、これを 1 時間ごとに移動しています。setTime()
メソッドを使用して日付を操作しています。
したがって、入力タイムスタンプ、表示時間、UTC 時間は次のとおりです。
- 1364808000 - 22:00 GMT+0000 - 22:00
- 1364685500 - 23:00 GMT+0000 - 23:00
- 1364688000 - 00:00 GMT+0000 - 00:00
- 1364691600 - 02:00 GMT+0100 - 01:00
- 1364695200 - 03:00 GMT+0100 - 02:00
- 1364698800 - 04:00 GMT+0100 - 03:00
マシンが GMT の場合、次のように出力されます。
- 1364808000 - 22:00 GMT+0000 - 22:00
- 1364685500 - 23:00 GMT+0000 - 23:00
- 1364688000 - 00:00 GMT+0000 - 00:00
- 1364691600 - 02:00 GMT+0100 - 01:00
- 1364695200 - 03:00 GMT+0100 - 02:00
- 1364698800 - 04:00 GMT+0100 - 03:00
マシンが BST の場合、出力は次のとおりです。
- 1364808000 - 22:00 GMT+0000 - 22:00
- 1364685500 - 23:00 GMT+0000 - 23:00
- 1364688000 - 00:00 GMT+0000 - 00:00
- 1364691600 - 00:00 GMT+0000 - 01:00
- 1364695200 - 02:00 GMT+0100 - 02:00
- 1364698800 - 03:00 GMT+0100 - 03:00
さて、私の考えでは、これらの最後の 3 つの日付は正しくありません。
何か案は?
ここにフィドルがあります:http://jsfiddle.net/twilson/WRbyh/
date-format - GoogleChartsとEpochを使用した日付のフォーマット
私はエポック1362873600を持っており、時刻ではなく日付部分のみを気にします。
私の目標は取得することです:03/10/13
私は次のことをしています:
epochValueを文字列およびintとして使用してみました。
両方の結果:オブジェクト1362873600にはメソッド'getTimezoneOffset'がありません
タイムゾーンの部分を無視するために使用できるオプションはありますか?formatValueがこのgetTimezoneOffsetメソッドを持つことを期待しているのは何ですか?ドキュメントには「値」とだけ書かれています。
android - AndroidのタイムゾーンとDSTの問題
スケジュールを使用するアプリケーションがあります。ユーザーがスケジュールの開始/終了時刻を選択すると、その開始/終了時刻がユーザーに表示されます。問題は、DSTが変更されたため、表示される時間がずれていることです。
自分のタイムゾーン(東部標準時)の問題を修正するか、GMTの問題を修正できますが、GMTの特定のケースを設定した場合、アラスカ時間はまだ間違っています。助言がありますか?
これが私のコードです:
表示されている時間:
getTimeOffset:
私は次のようなものが必要だと思います:
しかし、そうすると、東部時間は本来より1時間短くなり、アラスカ時間は2時間短くなります。反対の場合:(+の代わりに-)
その場合、東部時間は本来より1時間長くなりますが、アラスカ時間は正しいです。
補遺:
tz.getOffset(new Date().getTime())
また、これらの状況のそれぞれで、の代わりに使用してみましtz.getRawOffset()
た。Googleのドキュメントによると、この関数はDSTを処理することになっているため、これは実際に私が最初に試したものです。
補遺終了
また、次のようにカレンダーを使用してみました。
これにより、EST時間の正しい時刻が得られますが、GMTの場合は1時間進み、アラスカの場合は1時間遅れます。そして私はこれを試しました:
しかし、これによりEDTは1時間短くなります。
私もこれを試しました:
これにより、EDTも1時間短くなります。
そして、私が使用した場合、私は同じ結果を得る
それ以外の
どうすればこれを正しく行うことができますか?
ios - Objective-Cの日付のGMTオフセット
日付のみのGMTオフセットが必要です。私はこの方法を使用しています
実際、ドイツのベルリンでは、DSTは2013年3月31日にオンになり、時刻は午前2時に変更されます。問題は、日付のみを使用してGMTオフセットが必要なことです。date = 31-3-2013 00:00:00の場合、+1を返します。31-3-201302:00:00の後に+2を返します。時間コンポーネントを使用せずにタイムゾーンオフセットを取得できる方法/方法はありますか?