2011-12-22 95 views
0

我有以下时间戳:20111122051342.582000转换时间戳datenum

我用下面的代码的时间戳datenum转换,但这个我失去了millisecons

time.mktime((datetime.datetime.strptime(rows['TStamp'], "%Y%m%d%H%M%S.%f")).timetuple()) 

20111122051342.582000我得到1321935222.0我如何改进上面的代码来获得更准确的datenum。

回答

2

strptime不读取微秒。试试这个:

ymdhms, usec = rows['TStamp'].split('.') 
time.mktime((datetime.datetime.strptime(ymdhms, "%Y%m%d%H%M%S")).timetuple()) + int(usec)/1000000. 

这适用于小数点后六位(零填充)的数字。