如何将str('2018-12-02T14:29:41.655 + 05:30')转换为日期和时间?

时间:2019-09-10 17:45:08

标签: python

date_object = datetime.strptime(one_bike.iloc[0,1], '%Y-%m-%dT%H:%M:%S+05:30').date()

预期结果:

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

2 个答案:

答案 0 :(得分:0)

根据您的标题,我们可以假设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()

答案 1 :(得分:0)

strptime()类方法有两个参数:

  • 字符串(将其转换为日期时间)
  • 格式代码

考虑要转换的日期字符串为“ 2018-12-02T14:29:41.655 + 05:30”。

此字符串的格式为“ Year-Month-DayThh: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))

Python strptime() 对此有很好的参考文件。