2017-01-05 2 views
0

UTC時刻(date1 = 'Wed Nov 23 04:01:52 +0000 2016')をJTC時刻に変換したい場合は、コード以下れる:Python:UTC時刻をJTC(アジア/東京)時間に変換して時刻を取得する

import re 
from datetime import datetime 
import pytz 
import timezones 
from dateutil import tz 


date1 = 'Wed Nov 23 04:01:52 +0000 2016' 
p_date = re.compile(r'[+-]([0-9])+') 
from_zone = tz.gettz('UTC') 
to_zone = tz.gettz('Asia/Tokyo') 
date_str_new = p_date.sub('', date1) 
date_str_obj = datetime.strptime(date_str_new, '%a %b %d %H:%M:%S %Y') 
print(date_str_obj) 
utc = date_str_obj.replace(tzinfo=from_zone) 
tokyo_time = utc.astimezone(to_zone) 
print(tokyo_time) 

結果は以下の通りです:

2016-11-23 04:01:52 
2016-11-23 13:01:52+09:00 

を時間をJTC(アジア/東京)時間に変換されますが、私はしたくないが:である「09の00」私はちょうどdatetime形式:2016-11-23 13:01:52日、時間のデータを取得することを意味します。ありがとう!

答えて

1
print(tokyo_time.replace(tzinfo=None)) 
print("hour: " + tokyo_time.hour) 
+0

あなたの@hoozecnのお返事ありがとうございます、私は私の要件を満たすメソッドをチェックしている。 – tktktk0711

0

tokyo_timeを文字列として操作できますか?もしそうなら、あなたはちょうど私が09削除するレックスやスプリットを使っ知っ

tokyo_time = str(tokyo_time).split('+')[0] 
+0

を書くことができ:00、しかしtokyo_timeが文字列の後にどのように時間を取得します。 – tktktk0711

+0

あなたは「* ...ちょうど時間が必要な場合は、日時データ... *」を取得するために、日時形式:2016-11-23 13:01:52にしたいと言います。分:秒'tokyo_time = str(tokyo_time).split( '+')[0] .split()[1]'のように文字列の操作を進めることができます。 'datetime'オブジェクトとして必要な場合は、1)文字列を' datetime.strptime() 'に変換することはできますが、もちろん、タイムゾーン情報を失うことになります。 'print'関数の出力)、' datetime'をサブクラス化し、デルタ時刻を表示しないように '__repr__'関数を再実装することができます –

+0

あなたの@Matteo Furlanの種類の応答に感謝します!私の欠けている情報を申し訳ありません。とにかく、あなたの時間と配慮に感謝します! – tktktk0711

関連する問題