Python 如何将str(';2018-12-02T14:29:41.655+;05:30';)转换为日期和时间? date\u object=datetime.strtime(一个\u bike.iloc[0,1],“%Y-%m-%dT%H:%m:%S+05:30”).date()

Python 如何将str(';2018-12-02T14:29:41.655+;05:30';)转换为日期和时间? date\u object=datetime.strtime(一个\u bike.iloc[0,1],“%Y-%m-%dT%H:%m:%S+05:30”).date(),python,Python,预期成果: Date - '%Y-%m-%d' Time - '%H:%M:%S' 根据您的标题,我们可以假设one_bike.iloc[0,1]中有str('2018-12-02T14:29:41.655+05:30') 代码无法工作的原因是缺少毫秒。您可以使用%S.%f 所以代码应该是这样的 date_object = datetime.strptime(str('2018-12-02T14:29:41.655+05:30'), '%Y-%m-%dT%H:%M:%S.%f+05:30').

预期成果:

Date - '%Y-%m-%d'
Time - '%H:%M:%S'

根据您的标题,我们可以假设
one_bike.iloc[0,1]
中有
str('2018-12-02T14:29:41.655+05:30')

代码无法工作的原因是缺少毫秒。您可以使用
%S.%f
所以代码应该是这样的

date_object = datetime.strptime(str('2018-12-02T14:29:41.655+05:30'), '%Y-%m-%dT%H:%M:%S.%f+05:30').date()
strptime()类方法接受两个参数:

  • 字符串(可转换为日期时间)
  • 格式代码
考虑到您试图转换的日期字符串是“2018-12-02T14:29:41.655+05:30”

此字符串的格式为“年-月-日:mm::ss.ms+05:30”。因此,您编写的格式字符串缺少微秒指令(%f)


这方面有一个非常好的参考文档。

运行代码时会发生什么?它有用吗?它会引发异常吗?
from datetime import datetime

date_string = "2018-12-02T14:29:41.655+05:30"

date_object = datetime.strptime(date_string, '%Y-%m-%dT%H:%M:%S.%f+05:30').date()

print ("date_object =", date_object)
print("type of date_object =", type(date_object))