首先是理论知识Unix时间戳:
时间戳只显示秒,没有进位,永不进位的秒计数器,60秒就是60秒,100秒就是100秒,它可以和年月日/时分秒进行转换
优点:1、简化硬件电路(只需要考虑秒的容量,不需要考虑其他年月日时分等的数值)
2、时间间隔计算方便,例如:1月1日8点到3月1日18点之间经过了多少个小时,使用时间戳就直接两个秒数相减/60即可
3、存储方便,只有一个变量
缺点:占用软件资源,在秒转化为其他形式如:年月日时分时就需要进行一系列转换操作
32位有符号的时间戳会在2038年1月19日溢出,32位无符号则是在2106年溢出
时间标准:从GMT(与地球实际自转时间有关,不固定)到UTC
闰秒:1分钟可能出现61秒的情况,可能会出现23:59:60
以下是时间戳和其他的转换,第2、3、4最重要
其中mktime是依据当地时间进行转换秒数
time_t是64位的int类型;
最后一个参数表示是否使用夏令时