1

以下に説明するコードのショートカットはありますか?

if value.tzinfo is None:
    value = default_tzinfo.localize(value)
    new_value = value.astimezone(default_tzinfo)
else:
    new_value = value

使用しようとしましdatetime.replace()たが、米国/太平洋タイム ゾーンを使用すると、-7 ではなく GMT -8 が返されます。

参照: http://wwp.greenwichmeantime.com/time-zone/usa/pacific-time/pacific-daylight-time.htm

value = value.replace(tzinfo=default_tzinfo)

出力例:

2012-05-06 13:12:45-08:00
US/Pacific
---
2012-05-07 00:12:45+03:00
Europe/Istanbul
4

1 に答える 1

1

答えはpytzのドキュメントに記載されています:http://pytz.sourceforge.net/#localized-times-and-date-arithmetic

使用localizeしたら、適切なタイムゾーンの日時が必要です。の呼び出しastimezoneは冗長であり、混乱している可能性があります。

タイムゾーンは、夏時間の移行に合わせて調整できるように、日付と時刻を認識する必要があります。replaceそれが機能しない理由です。

于 2012-05-08T19:08:51.137 に答える