Python ISO 8601日期时间格式:将11:05:14 PM解析为23:05:14
我目前正在获取ISO格式,但我不确定如何获取ISO(8601)格式 当我将以下日期08/10/2015 11:05:14 PM转换为ISO格式时,我得到2015-08-10T11:05:14+0000 我最好能拿到2015-08-10T23:05:14+0000 将日期编辑为iso格式的行是:Python ISO 8601日期时间格式:将11:05:14 PM解析为23:05:14,python,csv,datetime,iso8601,Python,Csv,Datetime,Iso8601,我目前正在获取ISO格式,但我不确定如何获取ISO(8601)格式 当我将以下日期08/10/2015 11:05:14 PM转换为ISO格式时,我得到2015-08-10T11:05:14+0000 我最好能拿到2015-08-10T23:05:14+0000 将日期编辑为iso格式的行是: new[3] = datetime.strptime(new[3], "%m/%d/%Y %H:%M:%S %p").isoformat() + '+0000' 代码: 输入格式到底是什么 当我将格式字
new[3] = datetime.strptime(new[3], "%m/%d/%Y %H:%M:%S %p").isoformat() + '+0000'
代码:
输入格式到底是什么 当我将格式字符串更改为
%m/%d/%y%H:%m:%S
时,以下
print datetime.strptime('08/10/15 23:05:14', '%m/%d/%y %H:%M:%S').isoformat() + '+0000'
给出正确的结果:
2015-08-10T23:05:14+0000
编辑
感谢您提供的附加信息,如果您只需将%H
替换为%I
,它应该可以工作:
print datetime.strptime('8/10/2015 11:05:14 PM', '%m/%d/%Y %I:%M:%S %p').isoformat() + '+0000'
从:
%I
-小时(12小时时钟)作为零填充十进制数
只有使用
%I
时,才会考虑am/pm部分。使用%p
指令时,应使用%I
格式解析小时
从文档中:
与strptime()方法一起使用时,%p指令仅在使用%I指令分析小时时影响输出小时字段
您的模式是
%H:%M:%S%p
,使用%H
您不需要%p
@hjpotter92-我认为%p解决了日期时间的AM/PM部分,对吗?是的,但是24小时时钟。AM/PM与该格式无关。详细阅读您的问题,请尝试使用%I
而不是%H
。我的输入格式如下:['3/11/2016 5:48:49 PM','80008761','246','0.700481055630595','1582422.0999997','1582422.0999997','9998']第一个字段。
print datetime.strptime('8/10/2015 11:05:14 PM', '%m/%d/%Y %I:%M:%S %p').isoformat() + '+0000'