2018/12/02
[Python] datetime.combine() でタイムゾーンは指定しない方がよい
先日、「[datetime のコンストラクタでタイムゾーンは指定しない方がよい](https://kokufu.blogspot.com/2018/11/python-datetime.html)」と書いたのですが、 `datetime.combine()` でも同様の問題が起こりました。 以下のように、日本のタイムゾーンが `+9:19` になってしまうのです。 ```python from datetime import datetime, date, time import pytz d = date(2018,11,1) datetime.combine(d, time(), tzinfo=pytz.timezone('Asia/Tokyo')) # 2018-11-01 00:00:00+09:19 ``` コンストラクタと同様、一度 native で作成してから aware に変換するのが良さそうです。 ```python `first-line: 4; d = date(2018,11,1) dt = datetime.combine(d, time()) pytz.timezone('Asia/Tokyo').localize(dt) # 2018-11-01 00:00:00+09:00 ```
0 件のコメント:
コメントを投稿