将具有不同时区的datetime转换为特定日期中的日期

时间:2019-04-11 09:38:29

标签: python pandas

用于存储最近赢得的交易的属性以相当奇怪的格式存储信息。数据采用具有不同时区的日期时间格式。

我遇到以下错误:

“如果是tzaware,则这些值代表unix时间戳,因此我们”和“ ValueError:数组必须均为相同的时区”

当我尝试以下命令之一时:

pd.to_datetime(df1['properties__recent_deal_close_date__value']

df1['properties__recent_deal_close_date__value'].dt.tz_convert('Eruope/Berlin')

我想转换这样的数据:

2018-11-16 11:32:51.285000+01:00    
2019-02-28 17:13:49.492000+01:00    
2018-08-29 09:50:51+02:00   

为此:

2019-11-16
2019-02-28
2018-08-29

1 个答案:

答案 0 :(得分:0)

使用dparser

100 : Mode{mode=100, enabled=true, value='someString'}
101 : Mode{mode=101, enabled=false, value='someString'}

输出

import dateutil.parser as dparser

dt_1 = "2018-11-16 11:32:51.285000+01:00"
dt_2 = "2019-02-28 17:13:49.492000+01:00"
dt_3 = "2018-08-29 09:50:51+02:00"

print("Date: {}".format(dparser.parse(dt_1,fuzzy=True).date()))
print("Date: {}".format(dparser.parse(dt_2,fuzzy=True).date()))
print("Date: {}".format(dparser.parse(dt_3,fuzzy=True).date()))