読者です 読者をやめる 読者になる 読者になる

sorta kinda...

主にAWS関連ですが、これに限らずいろいろ勉強したことや思ったことを書いていきます。

ISO8601表記の日時をJSTにしたい

Python

OpenWeatherMapから取ってきたデータの中に"日時"がありますが、そのタイムゾーンUTCでした。私は日本人なのでJSTで取りたい!ということで、タイムゾーン変換のやり方を調べたのでメモ。

>>> import pyowm
>>> import dateutil.tz
>>> from dateutil.parser import parse
>>> owm = pyowm.OWM('*****')
>>>
>>> obs_list = owm.weather_at_id(1853008)
>>> weather = obs_list.get_weather()
>>> owmdate_utc = weather.get_reference_time(timeformat='iso')

ここまでは以前書いたものとほぼ同じ。datetimeでparseするために関連のものをimportしてるのが増えただけです。

# parseしてJSTに変換
>>> owmdate_utc_parse = parse(owmdate_utc)
>>> jpdate = owmdate_utc_parse.astimezone(dateutil.tz.gettz('Asia/Tokyo'))

# その結果
>>> owmdate_utc_parse
datetime.datetime(2016, 2, 18, 10, 0, tzinfo=tzutc())
>>> jpdate
datetime.datetime(2016, 2, 18, 19, 0, tzinfo=tzfile('Asia/Tokyo'))

これで日本時間が取れます。これでDBに放り込む準備ができたかな。