0
ユーザが時刻&を入力したときにタイムゾーンを取得したいとします。私は中欧に住んでおり、冬UTC + 001と夏UTC + 002にここにいます。 問題は、私はPythonが冬と夏には、常に夏時間UTC + 002を与えることをテストしました。タイムゾーンが正しくありません
例:
import time
a=time.strptime("13 00 00 30 May 2017", "%H %M %S %d %b %Y")
a_s = time.mktime(a) # to convert in seconds
time.localtime(a_s) #local time
Output>>> time.struct_time(tm_year=2017, tm_mon=5, tm_mday=30, tm_hour=13, tm_min=0, tm_sec=0, tm_wday=1, tm_yday=150, tm_isdst=1)
time.gmtime(a_s) # UTC time
Output>>> time.struct_time(tm_year=2017, tm_mon=5, tm_mday=30, tm_hour=11, tm_min=0, tm_sec=0, tm_wday=1, tm_yday=150, tm_isdst=0)
#Now the Winter
b = time.strptime("13 00 00 20 Dec 2017", "%H %M %S %d %b %Y")
b_s = time.mktime(b)
time.localtime(b_s)
Output>>> time.struct_time(tm_year=2017, tm_mon=12, tm_mday=20, tm_hour=13, tm_min=0, tm_sec=0, tm_wday=2, tm_yday=354, tm_isdst=0)
time.gmtime(b_s)
Output>>>time.struct_time(tm_year=2017, tm_mon=12, tm_mday=20, tm_hour=12, tm_min=0, tm_sec=0, tm_wday=2, tm_yday=354, tm_isdst=0)
time.strftime("%H:%M:%S %z %Z",a)
Output>>>'13:00:00 +0200 Central European Summer Time'
time.strftime("%H:%M:%S %z %Z",b)
Output>>> '13:00:00 +0200 Central European Summer Time' #Wrong should be +0100 and Central European Time
何が悪いのでしょうか?夏は+0200、今は(12月)+0100 –
以下は間違っています。 aは夏、bは冬です。 出力>>> '13:00:00 +200中央ヨーロッパ夏時間' time.strftime( "%H:%M:%S%z%Z" b> 出力>>> '13:00:00 +0200中央ヨーロッパ夏時間 '+0100と中央ヨーロッパ時間 – Ahmad