时间系统一般在程序中有以下几个层次:
1. 绝对时间
2. 本机系统时间
3. 本进程运行时间
4. 用户自定义的时间(差分系统时间)
根据不同的精度需求一般又分为:
1. 日历时间
2. 高精度时间
根据场景不同,又可分为:
1. 单系统,单线程
2. 单系统,多线程(多进程)
3. 跨系统,多线程(多进程)
linux系统与windows系统又略有不同,这里总结下最近对时间系统的理解。
日历时间,往往以年,月,日,时,分,秒的格式出现,这是对精度要求不高的时间需求。
在windows API中,获取时间的函数:
CTime::GetCurrentTime();
GetLocalTime(&st);
linux下,用time_t数据类型来保存,是自1970年1月1日00:00:00以来国际标准时间所经过的描述累计值。
time_t 一般是一个long型来表示,单位是秒
而struct tm是一个结果 以年,月,日,时,分,秒等表示