3 回答
TA贡献1789条经验 获得超10个赞
Python 2.6添加了一个新的strftime / strptime宏%f,该宏的执行时间为微秒。不知道这是否记录在任何地方。但是,如果您使用的是2.6或3.0,则可以执行以下操作:
time.strptime('30/03/09 16:31:32.123', '%d/%m/%y %H:%M:%S.%f')
编辑:我从来没有真正使用过该time模块,所以一开始我没有注意到这一点,但是看起来time.struct_time实际上并不存储毫秒/微秒。最好使用datetime,例如:
>>> from datetime import datetime
>>> a = datetime.strptime('30/03/09 16:31:32.123', '%d/%m/%y %H:%M:%S.%f')
>>> a.microsecond
123000
TA贡献1883条经验 获得超3个赞
我知道这是一个老问题,但是我仍在使用Python 2.4.3,我需要找到一种更好的方法将数据字符串转换为日期时间。
如果datetime不支持%f并且不需要try / except的解决方案是:
(dt, mSecs) = row[5].strip().split(".")
dt = datetime.datetime(*time.strptime(dt, "%Y-%m-%d %H:%M:%S")[0:6])
mSeconds = datetime.timedelta(microseconds = int(mSecs))
fullDateTime = dt + mSeconds
这适用于输入字符串“ 2010-10-06 09:42:52.266000”
添加回答
举报