早上做题时碰到了这样一题:
中国有句俗语叫“三天打鱼两天晒网”。某人从1990年1月1日起开始“三天打鱼两天晒网”,问这个人在以后的某一天中是“打鱼”还是“晒网”。
题目解起来并不难,只要计算那天至1990年1月1日是多少天,然后对结果取模分析即可。计算天数时,突然想起了一直没接触的time.h,于是便进行了对其的学习。
一、表示时间的三种方式
1、日历时间(calendar time),是从一个标准时间点(epoch)到现在的时间经过的秒数,不包括插入闰秒对时间的调整。开始计时的标准时间点,各种编译器一般使用1970年1月1日0时0秒。日历时间用数据类型time_t表示。time_t类型实际上一般是32位或64位整数类型。
2、时钟滴答数(clock tick),从进程启动开始计时,因此这是相对时间。每秒钟包含CLOCKS_PER_SEC(time.h中定义的常量,一般为1000)个时钟滴答。时钟滴答数用数据类型clock_t表示。clock_t类型一般是32位整数类型。
3、分解时间(broken-down time),用结构数据类型tm表示,tm包含下列结构成员,注意一月份用0表示:
Member |
Description |
int tm_hour |
hour (0 – 23) |
int tm_isdst |