それは「2013-02-27 11:02」(GMT) 頃で、私はフランスにいるので、現地時間は「2013-02-27 12:02 +0100」頃です。マシンで次のコマンドを実行しました。
Python 2.6.8 (unknown, Apr 14 2012, 04:15:37)
[GCC 4.2.1 (Apple Inc. build 5666) (dot 3)] on darwin
Type "help", "copyright", "credits" or "license" for more information.
>>> import time
>>> datefmt = '%Y-%m-%d %H:%M:%S %Z'
>>> paris_time = (time.gmtime(), time.localtime())
>>> paris_time[0]
time.struct_time(tm_year=2013, tm_mon=2, tm_mday=27, tm_hour=11, tm_min=2, tm_sec=2, tm_wday=2, tm_yday=58, tm_isdst=0)
>>> paris_time[1]
time.struct_time(tm_year=2013, tm_mon=2, tm_mday=27, tm_hour=12, tm_min=2, tm_sec=2, tm_wday=2, tm_yday=58, tm_isdst=0)
>>> time.strftime(datefmt, paris_time[0]), time.strftime(datefmt, paris_time[1])
('2013-02-27 11:02:02 CET', '2013-02-27 12:02:02 CET')
>>>
次に、マシンのタイムゾーンを「ニューヨーク」に変更し、最後のコマンドを再生しました。
>>> paris_time[0]
time.struct_time(tm_year=2013, tm_mon=2, tm_mday=27, tm_hour=11, tm_min=2, tm_sec=2, tm_wday=2, tm_yday=58, tm_isdst=0)
>>> paris_time[1]
time.struct_time(tm_year=2013, tm_mon=2, tm_mday=27, tm_hour=12, tm_min=2, tm_sec=2, tm_wday=2, tm_yday=58, tm_isdst=0)
>>> time.strftime(datefmt, paris_time[0]), time.strftime(datefmt, paris_time[1])
('2013-02-27 11:02:02 EST', '2013-02-27 12:02:02 EST')
>>>
情報: CET は +0100 のコードで、EST は -0500 のコードです。
python time.strftime(format[, t])ドキュメントの表には、次のように記載されています。
%Z タイム ゾーン名 (タイム ゾーンが存在しない場合は文字なし)。
「タイムゾーンが存在しない」とはどういう意味ですか? struct_time オブジェクトのタイム ゾーン(編集: 最初に質問で「strftime オブジェクト」と書きました) またはシステムで ? 私のテストによると、オブジェクト paris_time[x] にタイムゾーンが設定されていませんが、タイムゾーンが表示されています。それで、私はここで何が欠けていますか?