Python中的日期时间格式

时间:2013-07-11 13:10:22

标签: python date datetime time datetime-format

这些日期时间格式是什么?我需要将它们转换为相同的格式,以检查它们是否相同。这些只是两个来自不同的数据源,所以我需要找到一种方法来使它们具有相同的格式。有什么想法吗?

2013-07-12T07:00:00Z

2013-07-10T11:00:00.000Z

提前致谢

5 个答案:

答案 0 :(得分:15)

额外的.000是微秒。

这会将格式的日期字符串转换为datetime对象。

import datetime
d1 = datetime.datetime.strptime("2013-07-12T07:00:00Z","%Y-%m-%dT%H:%M:%SZ")
d2 = datetime.datetime.strptime("2013-07-10T11:00:00.000Z","%Y-%m-%dT%H:%M:%S.%fZ")

然后根据您的要求将它们转换为任何格式,使用:

new_format = "%Y-%m-%d"
d1.strftime(new_format)

答案 1 :(得分:1)

您可以尝试修剪字符串

data = "2019-10-22T00:00:00.000-05:00"
result1 = datetime.datetime.strptime(data[0:19],"%Y-%m-%dT%H:%M:%S")
result2 = datetime.datetime.strptime(data[0:23],"%Y-%m-%dT%H:%M:%S.%f")
result3 = datetime.datetime.strptime(data[0:9], "%Y-%m-%d")

答案 2 :(得分:1)

使用日期时间模块。

对于变量

import datetime
def convertDate(d):
     new_date = datetime.datetime.strptime(d,"%Y-%m-%dT%H:%M:%S.%fZ")
     return new_date.date()
convertDate("2019-12-23T00:00:00.000Z")

您可以将“ .date()”更改为“ .year”,“。month”,“。day”等...

输出:#现在是一个日期时间对象

datetime.date(2019, 12, 23)

对于DataFrame列,请使用apply()

df['new_column'] = df['date_column'].apply(convertDate)

答案 3 :(得分:0)

也许使用.isoformat()

  

ISO 8601格式的字符串,YYYY-MM-DDTHH:MM:SS [.mmmmmm] [+ HH:MM]

>>> import datetime
>>> datetime.datetime.utcnow().isoformat() + "Z"
'2013-07-11T22:26:51.564000Z'
>>>

Z指定“zulu”时间或UTC。

http://www.ietf.org/rfc/rfc3339.txt

答案 4 :(得分:0)

*快捷方式:

[...'??‍♂️'].map(c=>'U+'+c.codePointAt(0).toString(16)).join(', ').toUpperCase(); // in JavaScript