ここで推測を危険にさらすので、私はかなり間違っているかもしれません。
問題は、指定したtest timesatmpのオフセットが0
UTCと同じであるということですが、GMTタイムゾーンでDSTを実行するときの時間とは異なります。
GMTはUTCと同じです。つまり、オフセットは0
です。ただし、DSTについて言及している場合、夏時間に従うと、時計が1時間進み、UTCオフセットも進みます。したがって、UTCに関して、現在の時間は実際にはUTC + 0100
です。そこから余分な時間が来ています。
最初にすべての時間をUTCに変換すると役立つ場合があります。結局のところ、それが目的ですよね?02:30 GMT
DSTをフォローしている間は01:30 UTC
です。したがって、これと比較すると、のテストタイムスタンプは02:01 UTC
将来約30分です-したがって、32 minutes from now
。
代わりに表示することを期待していた場合は、時計の表示での時刻と同等のUTCタイムスタンプを表すために30 minutes ago
テスト日付を指定する必要があります。2011-05-31T01:01:44+00:00
02:01
最も安全な解決策は、常にUTCタイムスタンプを使用することです。これは、SO、Facebook、Twitterが投稿に日付を付ける方法です。UTCタイムスタンプは、各ユーザーのタイムゾーンに合わせて明確に解釈およびフォーマットできます。
したがって、あなたの仕事は、使用するタイムスタンプが単に文字盤に表示されるものではなく、それに相当するUTCであることを確認することです。現在のタイムゾーンでは、UTC時刻は表示されている時刻より1時間遅れている可能性があります。また、HTMLの生成に使用しているものに応じて、言語/プラットフォームに組み込まれている、またはサードパーティのライブラリとして、現在の時刻に相当するUTCを提供する関数を見つけることができるはずです。 DSTを考慮したタイムゾーンの時計。