[软件资料] Linux中的那些时间,你知道几个

[复制链接]
 楼主| probedog 发表于 2024-11-15 15:22 | 显示全部楼层 |阅读模式
本帖最后由 probedog 于 2024-11-15 15:23 编辑

在Linux系统中,存在几种不同的时间概念,它们各自有不同的用途和意义:「系统时间(System Time)」:
这是计算机的当前时间,通常与墙上时钟时间相对应。系统时间由操作系统维护,并影响所有基于时间的操作,如日志记录、定时任务等。
「硬件时钟(Hardware Clock)」:
硬件时钟是计算机主板上的一个独立时钟,通常由CMOS电池供电。它在系统断电后继续运行,用于在系统启动时设置系统时间。
「协调世界时(UTC, Coordinated Universal Time)」:
UTC是一种全球统一的时间标准,不受夏令时影响。Linux系统可以配置为使用UTC时间,这样所有的时间记录都是基于UTC。
「本地时间(Local Time)」:
本地时间是系统时间根据特定时区调整后的时间。如果系统配置为使用本地时间而不是UTC,那么显示的时间将根据系统所在时区进行调整。
「日志时间戳(Log Timestamp)」:
日志文件中的每条记录通常都有一个时间戳,指示该记录被创建或记录的时间。这个时间戳基于系统时间生成。
「实时时钟(Real-time Clock)」:实时时钟是硬件时钟的另一种说法,它在系统运行时提供时间信息,并且通常与硬件时钟同步。「进程时间(Process Time)」:这是进程自启动以来所运行的总时间,包括用户态和内核态的时间。
「墙钟时间(Wall Clock Time)」:墙钟时间通常指的是实际流逝的时间,与系统时间相对,它不包括系统休眠或停止的时间。
「NTP时间(NTP Time)」:NTP(Network Time Protocol)时间是指通过NTP服务与互联网上的标准时间源同步的时间。NTP服务确保系统时间的准确性。「定时任务时间(Cron Job Time)」:这是由cron守护进程管理的定时任务执行的时间,它基于系统时间或UTC时间(取决于cron配置)。
「应用程序时间(Application Time)」:某些应用程序可能使用它们自己的时间源或时间逻辑,这可能与系统时间不同步。
「时间同步时间(Time Synchronization Time)」:这是系统通过时间同步服务(如NTP)与外部时间源同步的时间点。在Linux系统中,时间的准确性对于系统的正常运行和日志记录的可靠性至关重要。管理员需要确保系统时间与UTC或本地时间正确同步,并且硬件时钟也应保持准确。此外,对于分布式系统或多时区环境,正确处理时间差异是必要的。
小小蚂蚁举千斤 发表于 2024-11-22 09:29 来自手机 | 显示全部楼层
其实一般实时时钟还是有必要的
中国龙芯CDX 发表于 2024-11-24 19:26 | 显示全部楼层
UTC是一种全球统一的时间标准,不受夏令时影响。
AdaMaYun 发表于 2024-12-10 11:19 | 显示全部楼层
NTP(Network Time Protocol)时间是指通过NTP服务与互联网上的标准时间源同步的时间。
LOVEEVER 发表于 2024-12-12 08:11 | 显示全部楼层
实时时钟是硬件时钟的另一种说法,它在系统运行时提供时间信息
tpgf 发表于 2025-2-5 13:31 | 显示全部楼层
使用 gmtime() 和 localtime() 可将 time_t 时间类型转换为 tm 结构体
heimaojingzhang 发表于 2025-2-6 19:07 | 显示全部楼层
time_t在 <time.h> 中定义为 typedef long time_t;,实际是一个长整型。其值表示从 UTC(协调世界时)1970 年 1 月 1 日 00 时 00 分 00 秒(也称为 Linux 系统的 Epoch 时间)到当前时刻的秒数

keaibukelian 发表于 2025-2-6 20:56 | 显示全部楼层
struct timespec常用于需要纳秒级时间精度的场景,如性能测试、精确计时等

paotangsan 发表于 2025-2-6 23:23 | 显示全部楼层
绝对时间格式常用于日志记录、文件命名、时间戳展示等场景,方便用户直观地理解具体的时间点

renzheshengui 发表于 2025-2-7 08:41 | 显示全部楼层
相对时间在计划任务安排、定时器设置等场景中经常使用,方便用户快速指定相对当前时间的一个时间点。
wowu 发表于 2025-2-7 10:39 | 显示全部楼层
为了能表示更久远的时间,可用 64 位或更长的整形数来保存日历时间
szt1993 发表于 2025-2-7 17:10 | 显示全部楼层
RTC是什么时间?
gra22ce 发表于 2025-2-17 15:48 | 显示全部楼层
在Linux系统中,有多种与时间相关的概念和机制,比如系统时间,定义:系统时间是指从1970年1月1日00:00:00 UTC(即Unix**)开始计算的秒数,通常称为“Unix时间戳”或“Epoch时间”
nuan11nuan 发表于 2025-2-17 17:05 | 显示全部楼层
硬件时间是指由计算机主板上的实时时钟(RTC)芯片维护的时间,通常以年月日时分秒的形式存储。用途:在系统关机时保持时间的连续性,系统启动时会从RTC读取时间。
twinkhahale 发表于 2025-2-17 18:20 | 显示全部楼层
一般来说,单调时间是一个从系统启动开始计算的递增时间,不受系统时间调整的影响
weifeng90 发表于 2025-2-17 18:28 来自手机 | 显示全部楼层
UTC只是一种时间表示方式,和Linux系统没有直接关系。
suiziq 发表于 2025-2-17 19:27 | 显示全部楼层
用途:用于测量时间间隔,如程序运行时间、超时等
miltk 发表于 2025-2-17 20:36 | 显示全部楼层
启动时间:定义:启动时间是指系统启动的时间点,通常以Unix时间戳表示。用途:用于记录系统启动的时间,计算系统运行时间等。
tiakon 发表于 2025-2-17 21:45 | 显示全部楼层
进程时间,进程时间是指进程占用的CPU时间,包括用户态时间和内核态时间
teaccch 发表于 2025-2-17 23:05 | 显示全部楼层
墙上时间是指实际的时间,即我们日常生活中使用的时间。用于记录事件发生的实际时间。
您需要登录后才可以回帖 登录 | 注册

本版积分规则

486

主题

3268

帖子

4

粉丝
快速回复 在线客服 返回列表 返回顶部

486

主题

3268

帖子

4

粉丝
快速回复 在线客服 返回列表 返回顶部