日期和时间

有一个现成的标准库time.h提供了常见的与时间相关的操作,游戏服务器中的时间库函数常常是以这个库为基础封装而来的。

 

一、time.h中常用的两种结构

time_t:秒为单位,整形

tm:包含了各种字段的结构,比如年月日,时分秒,星期等(分解结构)。

timespec和timeval:更高精度的时间

 

二、time.h中常用函数:

(1) time_t time(time_t *t);

获取时间的函数,返回从1970年1月1日 00:00:00到现在所经历的秒数。使用方法:

time_t t1 = time(NULL); 

(2)time_t mktime(struct tm *);

把tm格式的时间转换为time_t格式

(3)char *asctime(const struct tm *timeptr)

显示时间字符串,参数是tm类型
(4)char *ctime(const time_t *timer)

显示时间字符串,参数是time_t类型

(5)strftime

把tm格式的转换为char*类型

(6)strptime

把char*类型转换为tm格式的

(7)gmtime和timegm

tm转为time_t

(8)localtime

time_t转为tm

...

三、几个名词

UTC:格林尼治时间,即0时区时间。

GMT:和UTC时间一致。

CST:代表中国,美国,澳大利亚或者古巴标准时间。

...

参考资料:

https://www.cnblogs.com/renjiashuo/p/6913668.html

https://www.cnblogs.com/Stultz-Lee/p/6699992.html

https://blog.csdn.net/yaojiawan/article/details/99233128

https://blog.csdn.net/natpan/article/details/81256288

https://blog.csdn.net/seucbh84/article/details/16116843

https://gmd20.github.io/blog/Linux%E5%B9%B3%E5%8F%B0%E7%9A%84mktime-localtime-gmtime-timegm%E5%87%BD%E6%95%B0%E5%92%8CWindows%E7%9A%84%E5%AE%9E%E7%8E%B0%E6%AF%94%E8%BE%83Linux%E5%B9%B3%E5%8F%B0%E7%9A%84/

https://private.codecogs.com/library/computing/c/time.h/ctime.php?alias=timegm

https://www.runoob.com/cprogramming/c-function-localtime.html

https://www.cnblogs.com/book-gary/p/3716790.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值