python中字符串的datetime转换

时间:2014-02-28 11:14:04

标签: python-2.7 python-datetime

尝试将字符串对象转换为日期时...

这里s是一个字符串..

== datetime_new.py ============

s="05/30/2013:10:47:34"

mytime = time.strptime(s, "%m/%d/%Y %H:%M:%S")

print mytime

收到如下错误:

  

ValueError:时间数据'05 / 30/2013:10:47:34'与格式不匹配   '%m /%d /%Y%H:%M:%S'

1 个答案:

答案 0 :(得分:2)

日期和时间部分之间有冒号,但格式为空格。

但是time.strptime不会给你一个datetime,它会给你一个time.struct_time。如果您想要日期时间,请使用datetime.datetime.strptime

In [1]: import time

In [2]: s="05/30/2013:10:47:34"

In [4]: mytime = time.strptime(s, "%m/%d/%Y:%H:%M:%S")

In [5]: mytime
Out[5]: time.struct_time(tm_year=2013, tm_mon=5, tm_mday=30, tm_hour=10, tm_min=47, tm_sec=34, tm_wday=3, tm_yday=150, tm_isdst=-1)

In [6]: import datetime

In [7]: datetime.datetime.strptime(s, "%m/%d/%Y:%H:%M:%S")
Out[7]: datetime.datetime(2013, 5, 30, 10, 47, 34)