在python中将日期字符串转换为日期时间对象时,微秒部分丢失

Joe*_*Joe 3 python time datetime

我有以下日期字符串:

dtstr = '2010-12-19 03:44:34.778000'
Run Code Online (Sandbox Code Playgroud)

我想将它转换为datetime对象,所以我继续如下:

import time
from datetime import datetime

dtstr = '2010-12-19 03:44:34.778000'
format = "%Y-%m-%d %H:%M:%S.%f"
datetime.fromtimestamp(time.mktime(time.strptime(dtstr,format)))
Run Code Online (Sandbox Code Playgroud)

但这回归了:datetime.datetime(2010, 12, 19, 3, 44, 34)而不是datetime.datetime(2010, 12, 19, 3, 44, 34,778000)

为什么微秒部分被省略了?我怎么能得到datetime.datetime(2010, 12, 19, 3, 44, 34,778000)

请帮助谢谢

agf*_*agf 7

from datetime import datetime

dtstr = '2010-12-19 03:44:34.778000'
format = "%Y-%m-%d %H:%M:%S.%f"
a = datetime.strptime(dtstr,format)
print a.microsecond
Run Code Online (Sandbox Code Playgroud)

time处理自Unix纪元以来的秒数,因此使用time会失去微秒.datetime.strptime直接使用.