我想datetime从日期起以毫秒为单位的字符串。这段代码对我来说很典型,我很想学习如何缩短它。from datetime import datetimetimeformatted= str(datetime.utcnow())semiformatted= timeformatted.replace("-","")almostformatted= semiformatted.replace(":","")formatted=almostformatted.replace(".","")withspacegoaway=formatted.replace(" ","")formattedstripped=withspacegoaway.strip()print formattedstripped
3 回答
MMTTMM
TA贡献1869条经验 获得超4个赞
要获取一个以毫秒为单位的日期字符串(秒后3个小数位),请使用以下命令:
from datetime import datetime
print datetime.utcnow().strftime('%Y-%m-%d %H:%M:%S.%f')[:-3]
>>>> OUTPUT >>>>
2020-05-04 10:18:32.926
蛊毒传说
TA贡献1895条经验 获得超3个赞
在某些系统上,微秒格式%f可能会给出"0",因此简单地切掉最后三个字符不是可移植的。
以下代码精心设置了以毫秒为单位的时间戳记格式:
from datetime import datetime
(dt, micro) = datetime.utcnow().strftime('%Y-%m-%d %H:%M:%S.%f').split('.')
dt = "%s.%03d" % (dt, int(micro) / 1000)
print dt
示例输出:
2016-02-26 04:37:53.133
为了获得OP想要的确切输出,我们必须去除标点符号:
from datetime import datetime
(dt, micro) = datetime.utcnow().strftime('%Y%m%d%H%M%S.%f').split('.')
dt = "%s%03d" % (dt, int(micro) / 1000)
print dt
示例输出:
20160226043839901
添加回答
举报
0/150
提交
取消