在python中将字符串(带时区)转换为日期时间

2024-09-24 02:17:30 发布

您现在位置:Python中文网/ 问答频道 /正文

我的目标是改变信仰

stringtime = '2020-02-30 10:27:00+01:00'

这样我就可以把它和

nowtime = datetime.datetime.utcnow()

使用

if nowtime > stringtime:
    print(1)

我试过strptime

datetime.datetime.strptime(stringtime, '%Y-%m-%d %H:%M:%S')

但在strtime文档中找不到时区的格式规范

我也试过了

pandas.Timestamp(stringtime)

但是我得到了ValueError: could not convert string to Timestamp

如何做到这一点


Tags: 文档规范目标pandasdatetimeif格式timestamp
2条回答

首先:你的stringtime错了,没有2月30日

你可以通过dateutil实现你想要的:

import dateutil.parser
stringtime = '2020-03-30 10:27:00+01:00'
dateutil.parser.isoparse(stringtime)
# datetime.datetime(2020, 3, 30, 10, 27, tzinfo=tzoffset(None, 3600))
datetime.datetime.strptime(stringtime, '%Y-%m-%d %H:%M:%S%z')

将为您提供预期结果%z是格式(仅限Python3),但是您的原始日期无效,因为2月份没有30天:)

相关问题 更多 >