1. ホーム
  2. python

[解決済み] ローカルタイム文字列をUTCに変換する方法は?

2022-03-15 09:31:25

質問

日時を変換する方法 文字列をローカルタイムで表示 を指定します。 UTC時間での文字列 ?

以前にもやったことがあると思うのですが、それが見つからず、SOが今後の私の(そして他の人の)手助けになればと思います。

明確化 : 例えば 2008-09-17 14:02:00 を私のローカルタイムゾーンで使用します ( +10 に相当する文字列を生成したい。 UTC の時間です。 2008-09-17 04:02:00 .

また、から http://lucumr.pocoo.org/2011/7/15/eppur-si-muove/ 一般的には、夏時間やその他の問題により、現地時間からUTC時間への一意の変換ができないため、これは不可能であることに注意してください。

解決方法は?

ありがとうございます!@roflyさん、文字列から文字列への完全な変換は以下のようになります。

time.strftime("%Y-%m-%d %H:%M:%S", 
              time.gmtime(time.mktime(time.strptime("2008-09-17 14:04:00", 
                                                    "%Y-%m-%d %H:%M:%S"))))

私のまとめ time / calendar 関数を使用します。

time.strptime
string --> tuple (タイムゾーンが適用されないため、文字列に一致)

time.mktime
local time tuple --> エポックからの秒数 (常にローカルタイム)

time.gmtime
エポック以降の秒数 -->タプル(UTC)

calendar.timegm
UTC -->エポックからの秒数で表したタプル

time.localtime
エポックからの秒数 --> ローカルタイムゾーンでのタプル