为了账号安全,请及时绑定邮箱和手机立即绑定

如何将此日期格式解析为日期时间?

如何将此日期格式解析为日期时间?

互换的青春 2023-06-27 16:35:57
我当前拥有的开始日期格式是2019-09-04 16:00 UTC+3,我正在尝试将其转换为日期时间格式2019-09-04 16:00:00+0300。我认为可行的格式是format='%Y-%m-%d %H:%M %Z%z',但是当我运行它时,我收到错误消息ValueError: Cannot parse both %Z and %z。有谁知道要使用的正确格式,还是我应该尝试完全不同的方法?谢谢。编辑 抱歉,我很难用语言表达我想要做什么,希望我能澄清。我希望将数据框中的所有日期和时间更改为日期时间格式。这是我尝试使用的方法,但出现了错误 df['datepicker'] = pd.to_datetime(df['datepicker'], format='%Y-%m-%d %H:%M %Z%z')这是我目前拥有的数据样本。datepicker2019-09-07 16:00 UTC+22019-09-04 18:30 UTC+42019-09-06 17:00 UTC±02019-09-10 16:00 UTC+12019-09-04 18:00 UTC+3这就是我想要将它们转换成的时间戳格式。datepicker2019-09-07 16:00:00+02002019-09-04 18:30:00+04002019-09-06 17:00:00+00002019-09-10 16:00:00+01002019-09-04 18:00:00+0300
查看完整描述

2 回答

?
尚方宝剑之说

TA贡献1788条经验 获得超4个赞

pandas.to_datetime如果你稍微调整一下字符串,应该会很高兴地解析这个:


import pandas as pd

df = pd.DataFrame({"datepicker":[ "2019-09-07 16:00 UTC+2", "2019-09-04 18:30 UTC+4",

                                  "2019-09-06 17:00 UTC±0", "2019-09-10 16:00 UTC+1", 

                                  "2019-09-04 18:00 UTC+3"]})

df['datetime'] = pd.to_datetime(df['datepicker'].str.replace('±', '+'))

# df['datetime']

# 0    2019-09-07 16:00:00-02:00

# 1    2019-09-04 18:30:00-04:00

# 2    2019-09-06 17:00:00+00:00

# 3    2019-09-10 16:00:00-01:00

# 4    2019-09-04 18:00:00-03:00

# Name: datetime, dtype: object

请注意,由于混合 UTC 偏移量,该列的数据类型为“对象”(日期时间对象)。如果您愿意,还可以立即转换为 UTC,以获得 dtype datetime[ns] 的列:


df['UTC'] = pd.to_datetime(df['datepicker'].str.replace('±', '+'), utc=True)

# df['UTC']

# 0   2019-09-07 18:00:00+00:00

# 1   2019-09-04 22:30:00+00:00

# 2   2019-09-06 17:00:00+00:00

# 3   2019-09-10 17:00:00+00:00

# 4   2019-09-04 21:00:00+00:00

# Name: UTC, dtype: datetime64[ns, UTC]


查看完整回答
反对 回复 2023-06-27
?
德玛西亚99

TA贡献1770条经验 获得超3个赞

当我定义如下时。它按您的预期工作。


from datetime import datetime, timedelta, timezone


UTC = timezone(timedelta(hours=+3))

dt = datetime(2019, 1, 1, 12, 0, 0, tzinfo=UTC)

timestampStr = dt.strftime("%Y-%m-%d %H:%M %Z%z")

print(timestampStr)

输出为:


2019-01-01 12:00 UTC+03:00+0300


查看完整回答
反对 回复 2023-06-27
  • 2 回答
  • 0 关注
  • 99 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信