怎么判断ktime_get_real_ts64获取到的是utc时间还是本地时间
可以通过比较获取到的时间戳与当前系统时间戳的差值来判断ktime_get_real_ts64获取的是UTC时间还是本地时间。
-
获取当前系统时间戳:
struct timespec now; getnstimeofday(&now); unsigned long sys_time = now.tv_sec; -
获取ktime_get_real_ts64获取的时间戳:
struct timespec64 ktime; ktime = ktime_get_real_ts64(); unsigned long ktime_time = ktime.tv_sec; -
比较两个时间戳的差值:
unsigned long time_diff = sys_time - ktime_time; -
判断差值的范围:
- 如果差值在正负13小时以内,可以判断为本地时间,因为时区差异通常不会超过13小时。
- 如果差值超过13小时,可以判断为UTC时间。
注意:
- 以上方法基于假设系统时间与ktime_get_real_ts64获取的时间戳在同一个时区下。
- 如果系统时间与获取到的时间戳不在同一个时区下,差值可能会超过13小时,需要根据实际情况进行调整
原文地址: https://www.cveoy.top/t/topic/hY9H 著作权归作者所有。请勿转载和采集!