Python/Django 时间戳,包括毫秒

2023-12-21

我需要按以下格式打印(并传递给外部 API)当前日期时间:

DD-MM-YYYY:HH:MM:SS:SSS

最后 3 个SSS表示毫秒。我知道如何使用 Python 打印当前的日期时间(最多微秒)strftime http://docs.python.org/2/library/datetime.html#strftime-and-strptime-behavior如下所示manage.py shellDjango shell 会话:

In [1]: from django.utils import timezone

In [2]: timezone.now()
Out[2]: datetime.datetime(2013, 8, 5, 15, 26, 10, 71046, tzinfo=<UTC>)

In [3]: timezone.now().strftime('%d-%m-%Y:%H:%M:%S:%f')
Out[3]: '05-08-2013:15:28:31:647504'

如何打印结尾:SSS部分,使上面的字符串变成:

'05-08-2013:15:28:31:123'

即显示毫秒(仅使用 3 位数字)而不是微秒?


通过将时间戳微秒除以 1000 来单独添加毫秒:

tznow = timezone.now()
'{:%d-%m-%Y:%H:%M:%S}.{:03d}'.format(tznow, tznow.microsecond // 1000)

Demo:

>>> from django.utils import timezone
>>> tznow = timezone.now()
>>> '{:%d-%m-%Y:%H:%M:%S}.{:03d}'.format(tznow, tznow.microsecond // 1000)
'05-08-2013:15:36:00.339'
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

Python/Django 时间戳,包括毫秒 的相关文章

随机推荐