日期时间字符串到 UNIX 时间(以毫秒为单位)
date-time-string to UNIX time with milliseconds
我需要将 date/time 字符串转换为 UNIX 时间戳,包括毫秒。由于 timetuple() 不包括毫秒或微秒,我做了一个简短的解决方法。但我想知道,是否有 better/nicer 方法可以做到这一点?
import datetime as dt
import time
timestamp = '2018-01-19 10:00:00.019' # example of input time string
tmp = timestamp.split('.')
millisec = tmp[-1] # extracting only milli-seconds
UX_time = time.mktime(dt.datetime.strptime(tmp[0], '%Y-%m-%d %H:%M:%S').timetuple()) + float(millisec)/1e3
print(UX_time)
1516352400.019
我知道我的时区偏差一小时,所以你可能会
print(UX_time)
1516356000.019
你可以试试这个:
timestamp = '2018-01-19 10:00:00.019'
tmp=np.datetime64(timestamp)
print(tmp.view('<i8')/1e3)
输出:
1516352400.019
也可以使用您当前的代码:
import datetime as dt
import time
timestamp = '2018-01-19 10:00:00.019' # example of input time string
ts = dt.datetime.strptime(timestamp, '%Y-%m-%d %H:%M:%S.%f')
UX_time = time.mktime(ts.timetuple()) + ts.microsecond/1e6
print "%.3f" %UX_time
我需要将 date/time 字符串转换为 UNIX 时间戳,包括毫秒。由于 timetuple() 不包括毫秒或微秒,我做了一个简短的解决方法。但我想知道,是否有 better/nicer 方法可以做到这一点?
import datetime as dt
import time
timestamp = '2018-01-19 10:00:00.019' # example of input time string
tmp = timestamp.split('.')
millisec = tmp[-1] # extracting only milli-seconds
UX_time = time.mktime(dt.datetime.strptime(tmp[0], '%Y-%m-%d %H:%M:%S').timetuple()) + float(millisec)/1e3
print(UX_time)
1516352400.019
我知道我的时区偏差一小时,所以你可能会
print(UX_time)
1516356000.019
你可以试试这个:
timestamp = '2018-01-19 10:00:00.019'
tmp=np.datetime64(timestamp)
print(tmp.view('<i8')/1e3)
输出:
1516352400.019
也可以使用您当前的代码:
import datetime as dt
import time
timestamp = '2018-01-19 10:00:00.019' # example of input time string
ts = dt.datetime.strptime(timestamp, '%Y-%m-%d %H:%M:%S.%f')
UX_time = time.mktime(ts.timetuple()) + ts.microsecond/1e6
print "%.3f" %UX_time