为了账号安全,请及时绑定邮箱和手机立即绑定

将日期时间格式化为字符串(以毫秒为单位)

将日期时间格式化为字符串(以毫秒为单位)

慕斯王 2019-12-25 10:13:29
我想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


查看完整回答
反对 回复 2019-12-25
?
蛊毒传说

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


查看完整回答
反对 回复 2019-12-25
  • 3 回答
  • 0 关注
  • 745 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信