Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/292.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/date/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
使用arrow python将字符串转换为日期_Python_Date_Datetime_Python Datetime - Fatal编程技术网

使用arrow python将字符串转换为日期

使用arrow python将字符串转换为日期,python,date,datetime,python-datetime,Python,Date,Datetime,Python Datetime,我正在尝试使用arrow模块将字符串转换为日期。 在转换过程中,我收到了以下错误: arrow.parser.ParserMatchError:解析“2019年11月6日星期三03:05:42下午CDT”时,未能匹配“%A%d%B%Y%I:%M:%S%p%Z” 根据以下内容,使用一条简单的线进行转换: date=arrow.get(日期,“%A%d%B%Y%I:%M:%S%p%Z”) 我还尝试使用datetime执行此操作,但遇到另一个错误: ValueError:时间数据“2019年11月6日

我正在尝试使用
arrow
模块将字符串转换为日期。 在转换过程中,我收到了以下错误:
arrow.parser.ParserMatchError:解析“2019年11月6日星期三03:05:42下午CDT”时,未能匹配“%A%d%B%Y%I:%M:%S%p%Z”

根据以下内容,使用一条简单的线进行转换:

date=arrow.get(日期,“%A%d%B%Y%I:%M:%S%p%Z”)

我还尝试使用
datetime
执行此操作,但遇到另一个错误:

ValueError:时间数据“2019年11月6日星期三03:27:33 PM CDT”与格式“%A%d%B%Y%I:%M:%S%p%Z”不匹配。


我遗漏了什么?

问题在于时区,硬编码时区在这里起作用

import datetime
datetime.datetime.strptime('Wednesday 06 November 2019 03:05:42 PM CDT', '%A %d %B %Y %I:%M:%S %p CDT')

尽管您可以将
'CDT'
硬编码到您的代码中,如@Hamza Rashid插入,但如果时区信息更改为其他内容,如
'CST'
'-0600'
,则会中断

为了避免潜在的问题,我改为使用如下内容,从字符串中的最后一个空格字符开始忽略字符串中的所有内容:

import datetime

date = 'Wednesday 06 November 2019 03:05:42 PM CDT'
date = datetime.datetime.strptime(date[:date.rindex(' ')], '%A %d %B %Y %I:%M:%S %p')
print(date)  # -> 2019-11-06 15:05:42

什么是
arrow
模块?为什么要引用Python 2版本的
strftime()
strtime()
函数?@martineau a表示日期。我还使用
datetime
编辑了这个问题。这里的硬编码时区类似于
datetime.datetime.strtime('2019年11月6日星期三03:05:42 PM CDT','%A%d%B%Y%I:%M:%S%p CDT')