問題タブ [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.

0 投票する
1 に答える
3247 参照

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

0 投票する
1 に答える
1973 参照

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')れました。

私のロジックにエラーがあると思いますか?

0 投票する
1 に答える
929 参照

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/

0 投票する
1 に答える
953 参照

date-format - GoogleChartsとEpochを使用した日付のフォーマット

私はエポック1362873600を持っており、時刻ではなく日付部分のみを気にします。

私の目標は取得することです:03/10/13

私は次のことをしています:

epochValueを文字列およびintとして使用してみました。

両方の結果:オブジェクト1362873600にはメソッド'getTimezoneOffset'がありません

タイムゾーンの部分を無視するために使用できるオプションはありますか?formatValueがこのgetTimezoneOffsetメソッドを持つことを期待しているのは何ですか?ドキュメントには「値」とだけ書かれています。

0 投票する
2 に答える
9167 参照

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時間短くなります。

そして、私が使用した場合、私は同じ結果を得る

それ以外の

どうすればこれを正しく行うことができますか?

0 投票する
3 に答える
1319 参照

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を返します。時間コンポーネントを使用せずにタイムゾーンオフセットを取得できる方法/方法はありますか?