0

私は、JSスクリプトを介して日付/時刻をキャプチャし、エポックからの秒数をUTC形式で計算するWebアプリを持っています - ex 134250270000. PST 形式のエポック。エポックから数えた場合、UTC と PST の間には常に秒単位の差があります。

エポック以降のUTC秒をエポック以降のPST秒に変換できる方法はありますか? PST タイムゾーンの夏時間の変化にも注意する必要がありますか?

編集::

I have the seconds since epoch in UTC format:

1342502700

I found that I get the sum in seconds between UTC and local standard time via:

>>> time.timezone / 3600
8

So If I add 1342502700 to time.timezone:

>>> print 1342502700 + time.timezone
1344153600

PDT / PST 時刻は常に正しく表示されますか?

編集::

多分これは正しいものです:

>>> import time
>>> offset = time.timezone if (time.daylight == 0) else time.altzone
>>> offset / 60 / 60
7

夏時間が現在有効な場合、 time.daylight はゼロ以外になります。

4

1 に答える 1

0

あなたのコンバージョンのどこかに、物事を台無しにしている暗黙のタイムゾーンがあると思います. とにかく、あなたが探しているのはtime.altzoneだと思います:

>>> from time import *
>>> ctime(time())
'Mon Aug 13 16:54:02 2012'
>>> ctime(time()+altzone)
'Mon Aug 13 08:54:04 2012'

私は現在台北時間にいるので、私の現地時間 (最初の時間) は UTC より遅いです。

編集:ゼロ以外のaltzone場合にのみ使用するというドキュメントの行を見逃しましたdaylightサマータイムのある場所に住んでいる場合、どうやら私が思っていたよりも少し複雑です。それに対処する必要がある場合は、この投稿を参照してください。

Python: タイムスタンプの DST に基づいてタイムゾーンを取得する

于 2012-08-13T08:57:56.520 に答える