Python:将UTC时间转换为JTC(亚洲/东京)时间并获取小时数

Python:将UTC时间转换为JTC(亚洲/东京)时间并获取小时数,python,datetime,utc,Python,Datetime,Utc,我想将UTC时间(date1=‘Wed Nov 23 04:01:52+0000 2016’)转换为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.

我想将UTC时间(date1=‘Wed Nov 23 04:01:52+0000 2016’)转换为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来获取日、小时数据。谢谢

你能把东京时间作为一个字符串来处理吗?如果是这样的话,你可以写下来

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

我知道使用rex或split来删除+09:00,但如何获取东京时间后的小时数是一个字符串。你说“…我只想使用datetime表单:2016-11-23 13:01:52来获取日、小时数据…”,如果你只需要小时数:分钟:秒,你可以继续进行字符串操作:
东京时间=str(东京时间)。split(+')[0]。split()[1]
。如果您需要它作为
datetime
对象,您可以1)通过
datetime.strtime()
将字符串转换回,但您当然会丢失时区信息,或者2)如果您只需要更改可视化(打印
函数的输出)您可以将
datetime
子类化,并重新实现
\uuuu repr\uuuu
函数,以避免显示增量时间感谢您的@Matteo Furlan友好响应!对不起,我丢失了信息。无论如何,谢谢你的时间和考虑!谢谢你的@hoozecn回答,我已经检查了你的方法,符合我的要求。
print(tokyo_time.replace(tzinfo=None))
print("hour: " + tokyo_time.hour)