首页 > 解决方案 > 把yyyy-mm-ddThh-mm-ss改成datetime,扔掉T分隔符和毫秒

问题描述

因此,我一直在学习或几乎只是在玩弄我设法获得的时间,我相信是 ISOformat,由于某些“愚蠢”的原因,我无法将其从 ISOformat 转换为日期时间,因此我研究了

datetime.datetime.strptime
datetime.datetime.strftime

我可以很容易地说,我已经迷失了思考该怎么做,所以我在这里。

等等:我有一段时间看起来像

2018-03-08T08:00:00.000

并希望它基本上看起来:

2018-03-08 08:00:00

意味着删除 T 和最后 3 微秒。

最好的建议是什么?

标签: pythondatetimetimedatetime-formatmilliseconds

解决方案


例如:

import time
print time.strftime("%Y-%m-%d %H:%M:%S")
# 2018-06-28 08:00:35

至于你的问题:

import datetime
str_time = '2018-03-08T08:00:00.000'
d = datetime.datetime.strptime(str_time, "%Y-%m-%dT%H:%M:%S.%f")
print d
# 2018-03-08 08:00:00

新方法:

import time

str_time = '2018-03-08T08:00:00.000'
d = time.strptime(str_time, "%Y-%m-%dT%H:%M:%S.%f")

print d
# time.struct_time(tm_year=2018, tm_mon=3, tm_mday=8, tm_hour=8, tm_min=0, tm_sec=0, tm_wday=3, tm_yday=67, tm_isdst=-1)

print time.strftime("%Y-%m-%d %H:%M:%S", d)
# 2018-03-08 08:00:00

推荐阅读