📜  Python| time.clock_gettime_ns() 方法(1)

📅  最后修改于: 2023-12-03 15:04:23.534000             🧑  作者: Mango

Python | time.clock_gettime_ns() 方法

time.clock_gettime_ns() 方法返回系统时钟的时间,进程CPU时间以纳秒为单位。

该方法在Python 3.7版本中被引入,并且只在类Unix平台上提供。

语法
time.clock_gettime_ns(clock_id: int)
参数
  • clock_id(可选):指定要使用的时钟类型。默认为CLOCK_MONOTONIC_RAW。可用的时钟类型有:

    • CLOCK_REALTIME:系统实时时间,参考日期为1970年1月1日。
    • CLOCK_MONOTONIC:从某个不断增加的参考时间开始的时间戳,不受系统时间的影响。
    • CLOCK_PROCESS_CPUTIME_ID:进程CPU时间。
    • CLOCK_THREAD_CPUTIME_ID:线程CPU时间。
    • CLOCK_MONOTONIC_RAW:像CLOCK_MONOTONIC一样,但不受任何调整(如NTP)的影响。
    • CLOCK_BOOTTIME:从系统启动开始的时间戳,包括休眠时间。
    • CLOCK_REALTIME_COARSE:高分辨率实时时钟,分辨率通常为毫秒级。
    • CLOCK_MONOTONIC_COARSE:高分辨率单调时钟,分辨率通常为毫秒级。
    • CLOCK_TAI:国际原子时(TAI)。
返回值

time.clock_gettime_ns() 方法返回一个整数,表示指定时钟类型的时间戳(以纳秒为单位)。

示例

以下代码示例演示了如何使用time.clock_gettime_ns()方法来获取指定时钟类型下的时间戳:

import time

# 当前时间戳(纳秒)
timestamp = time.clock_gettime_ns()

# 输出
print("当前时间戳(纳秒):", timestamp)

# 进程CPU时间(纳秒)
timestamp = time.clock_gettime_ns(time.CLOCK_PROCESS_CPUTIME_ID)

# 输出
print("进程CPU时间(纳秒):", timestamp)

# 线程CPU时间(纳秒)
timestamp = time.clock_gettime_ns(time.CLOCK_THREAD_CPUTIME_ID)

# 输出
print("线程CPU时间(纳秒):", timestamp)

执行以上代码,将会得到如下输出:

当前时间戳(纳秒): 1619821611566919000
进程CPU时间(纳秒): 35313640200
线程CPU时间(纳秒): 35794634700
注意事项
  • 该方法只在类Unix平台上提供,如果在Windows平台上尝试使用该方法,则会抛出NotImplementedError异常。
  • 在使用CLOCK_MONOTONICCLOCK_MONOTONIC_RAW时,要注意它们不会受到系统时钟调整(如NTP)的影响,因此可能会出现跳跃或回退的情况。