如何在Python中获得以毫秒为单位的当前时间?
当前回答
在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)
请随意使用你更喜欢的一个,我不认为有任何需要比这个更复杂的解决方案。
其他回答
unix诞生的时间
from time import time
while True:
print(str(time()*1000)+'ms \r', end='')
程序开始的时间
from time import time
init = time()
while True:
print(str((time()-init)*1000)+'ms \r', end='')
谢谢你的宝贵时间
在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)
请随意使用你更喜欢的一个,我不认为有任何需要比这个更复杂的解决方案。
我发现的以毫秒为单位获取当前UTC时间的最简单方法是:
# timeutil.py
import datetime
def get_epochtime_ms():
return round(datetime.datetime.utcnow().timestamp() * 1000)
# sample.py
import timeutil
timeutil.get_epochtime_ms()
def TimestampMillisec64():
return int((datetime.datetime.utcnow() - datetime.datetime(1970, 1, 1)).total_seconds() * 1000)
在3.7之后的Python版本中,最好的答案是使用time.perf_counter_ns()。如文件所述:
Time.perf_counter() ->浮点数
返回性能计数器的值(以小数秒为单位),即具有最高可用分辨率的时钟,用于测量短时间。它确实包括睡眠期间所消耗的时间,并且是系统范围的。返回值的参考点未定义,因此只有连续调用结果之间的差值才是有效的。
Time.perf_counter_ns () -> int
类似于perf_counter(),但是返回以纳秒为单位的时间
正如它所说,这将使用您的系统所提供的最佳计数器,并且它是专门为测量性能而设计的(因此试图避免其他计时器的常见陷阱)。
它也给了你一个很好的纳秒整数,所以只要除以1000000就得到你的毫秒:
start = time.perf_counter_ns()
# do some work
duration = time.perf_counter_ns() - start
print(f"Your duration was {duration // 1000000}ms.")
推荐文章
- 把if-elif-else语句放在一行中?
- 我如何结合两个数据框架?
- 如何计数列表中唯一值的出现
- 如何减去X天从一个日期对象在Java?
- 为什么Pycharm的检查人员抱怨“d ={}”?
- 如何JSON序列化集?
- 在python中,年龄从出生日期开始
- 使用pip安装SciPy
- 在Python中,我应该如何测试变量是否为None, True或False
- 如何在Python中从毫秒创建datetime ?
- 如何解窝(爆炸)在一个熊猫数据帧列,成多行
- 如何使用pip安装opencv ?
- 在pip冻结命令的输出中“pkg-resources==0.0.0”是什么
- 格式y轴为百分比
- 熊猫连接问题:列重叠但没有指定后缀