我想转换日期字段(取自PostgreSQL字符串)
"2009-02-13 15:31:30.123000"
到UNIX时间戳,如
1234567890.123
精度处于毫秒级。我怎么能这样做?
答案 0 :(得分:1)
您可以使用datetime.datetime.strptime解析日期时间字符串(some_datetime_string,'%Y-%m-%d%H:%M:%S%f')。
然后使用此答案Python Create unix timestamp five minutes in the future将datetime.datetime转换为unix时间戳。
答案 1 :(得分:1)
首先,将其转换为datetime
对象:
>>> import datetime
>>> date = datetime.datetime.strptime("2009-02-13 15:31:30.123000",
... "%Y-%m-%d %H:%M:%S.%f")
>>> date
datetime.datetime(2009, 2, 13, 15, 31, 30, 123000)
然后,将其转换为时间戳:
>>> import time
>>> t = time.mktime(date.timetuple())
>>> t
1234535490.0
现在,添加微秒:
>>> t += date.microsecond/1000000.0
>>> t
1234535490.123
或者,如果你想丢弃不到一毫秒的任何东西:
>>> t += int(date.microsecond/1000)/1000.0
(在Python 2中不需要int()
转换,但为了与Python 3兼容而留在这里。)