如何在Python中获得以毫秒为单位的当前时间?
当前回答
def TimestampMillisec64():
return int((datetime.datetime.utcnow() - datetime.datetime(1970, 1, 1)).total_seconds() * 1000)
其他回答
def TimestampMillisec64():
return int((datetime.datetime.utcnow() - datetime.datetime(1970, 1, 1)).total_seconds() * 1000)
如果你关心测量流逝的时间,你应该使用单调时钟(python 3)。例如,如果一个NTP查询调整了你的系统时间,这个时钟不会受到系统时钟更新的影响。
>>> import time
>>> millis = round(time.monotonic() * 1000)
它提供了一个以秒为单位的参考时间,可用于以后比较以测量经过的时间。
对于Python 3.7+, time.time_ns()给出自epoch以来以纳秒为单位经过的时间。
这给出了以毫秒为单位的整数时间:
import time
ms = time.time_ns() // 1_000_000
Time.time()可能只给出秒的分辨率,毫秒的首选方法是datetime。
from datetime import datetime
dt = datetime.now()
dt.microsecond
在Python 3.8+中进行了一些测试后,我注意到这些选项给出了完全相同的结果,至少在Windows 10中是这样。
import time
# Option 1
unix_time_ms_1 = int(time.time_ns() / 1000000)
# Option 2
unix_time_ms_2 = int(time.time() * 1000)
请随意使用你更喜欢的一个,我不认为有任何需要比这个更复杂的解决方案。
推荐文章
- python中的assertEquals和assertEqual
- 如何保持Python打印不添加换行符或空格?
- 为什么Python的无穷散列中有π的数字?
- Python 3.7数据类中的类继承
- 如何在PyTorch中初始化权重?
- 计数唯一的值在一列熊猫数据框架像在Qlik?
- 使用Pandas将列转换为行
- 从matplotlib中的颜色映射中获取单个颜色
- 将Pandas或Numpy Nan替换为None以用于MysqlDB
- 使用pandas对同一列进行多个聚合
- 使用Python解析HTML
- django MultiValueDictKeyError错误,我如何处理它
- 如何在for循环期间修改列表条目?
- 我如何在Django中创建一个鼻涕虫?
- 没有名为'django.core.urlresolvers'的模块