time
- time能得到一个当前时间距离标准起点时间1970-01-01 00:00:00 +0000(UTC)过去了多少秒
ctime
- ctime可以从time_t出发得到一个容易观察的字符串格式的当前时间。
- ctime好处是很简单好用,可以直接得到当前时间的字符串格式,直接打印来看。坏处是ctime的打印时间格式是固定的,没法按照我们的想法去变。
- 实验结果可以看出ctime函数得到的时间是考虑了计算机中的本地时间的(计算机中的时区设置)
gmtime和localtime
- gmtime获取的时间中:年份是以1970为基准的差值,月份是0表示1月,小时数是以UTC时间的0时区为标准的小时数(北京是东8区,因此北京时间比这个时间大8)
- 猜测localtime和gmtime的唯一区别就是localtime以当前计算机中设置的时区为小时的时间基准,其余一样。实践证明我们的猜测是正确的。
mktime
- 从OS中读取时间时用不到mktime的,这个mktime是用来向操作系统设置时间时用的。
asctime
- asctime得到一个固定格式的字符串格式的当前时间,效果上和ctime一样的。区别是ctime从time_t出发,而asctime从struct tm出发。
strftime
- asctime和ctime得到的时间字符串都是固定格式的,没法用户自定义格式
- 如果需要用户自定义时间的格式,则需要用strftime。
gettimeofday和settimeofday
- 前面讲到的基于time函数的那个系列都是以秒为单位来获取时间的,没有比秒更精确的时间。
- 有时候我们程序希望得到非常精确的时间(譬如以us为单位),这时候就只能通过gettimeofday来实现了。
网友评论