如何使用%p在python中将包含AM/PM的字符串转换为datetime
我需要转换格式为如何使用%p在python中将包含AM/PM的字符串转换为datetime,python,datetime,strptime,strftime,Python,Datetime,Strptime,Strftime,我需要转换格式为'2000-01-01 12:00:00 AM'的字符串,但无论是AM还是PM,结果都是相同的(参见下面的示例) 输出为: '2000-01-01T12:00:00' '2000-01-01T12:00:00' '2000-01-01T06:00:00' '2000-01-01T06:00:00' 我认为如果上午12点是午夜或中午,这可能是一个没有定义的问题,但即使在其他不同的时间执行相同的代码,结果仍然是一样的: datetime.strptime('2000-01-01
'2000-01-01 12:00:00 AM'
的字符串,但无论是AM还是PM,结果都是相同的(参见下面的示例)
输出为:
'2000-01-01T12:00:00'
'2000-01-01T12:00:00'
'2000-01-01T06:00:00'
'2000-01-01T06:00:00'
我认为如果上午12点是午夜或中午,这可能是一个没有定义的问题,但即使在其他不同的时间执行相同的代码,结果仍然是一样的:
datetime.strptime('2000-01-01 06:00:00 AM', frmt).isoformat()
datetime.strptime('2000-01-01 06:00:00 PM', frmt).isoformat()
输出为:
'2000-01-01T12:00:00'
'2000-01-01T12:00:00'
'2000-01-01T06:00:00'
'2000-01-01T06:00:00'
网站上说我使用的格式应该有效,但事实并非如此。我该怎么办?您可以使用来解析任何日期时间字符串,而不提供格式字符串,这在模块中提供
您可以使用解析任何日期时间字符串,而不提供格式字符串,这在模块中提供
这就是为什么我使用箭头。只是让这一切变得更容易
import arrow
frmt = 'YYYY-MM-DD HH:mm:ss A'
print(arrow.get('2000-01-01 12:00:00 AM', frmt))
print(arrow.get('2000-01-01 12:00:00 PM', frmt))
#datetime
print(arrow.get('2000-01-01 12:00:00 AM', frmt).datetime)
print(arrow.get('2000-01-01 12:00:00 PM', frmt).datetime)
#isoformat
print(arrow.get('2000-01-01 12:00:00 AM', frmt).isoformat())
print(arrow.get('2000-01-01 12:00:00 PM', frmt).isoformat())
这就是为什么我使用箭头。只是让这一切变得更容易
import arrow
frmt = 'YYYY-MM-DD HH:mm:ss A'
print(arrow.get('2000-01-01 12:00:00 AM', frmt))
print(arrow.get('2000-01-01 12:00:00 PM', frmt))
#datetime
print(arrow.get('2000-01-01 12:00:00 AM', frmt).datetime)
print(arrow.get('2000-01-01 12:00:00 PM', frmt).datetime)
#isoformat
print(arrow.get('2000-01-01 12:00:00 AM', frmt).isoformat())
print(arrow.get('2000-01-01 12:00:00 PM', frmt).isoformat())
你可以使用dateutil模块,在@GustavoMaia下面检查我的答案你可以使用dateutil模块,在@GustavoMaia下面检查我的答案