VC驿站

 找回密码
 加入驿站

QQ登录

只需一步,快速开始

搜索
查看: 1806|回复: 24

[原创] C++时间戳封装类【跨平台支持】

[复制链接]
51_avatar_middle
online_admins 发表于 2017-12-26 10:22:28 | 显示全部楼层 |阅读模式
这段时间公司的一个游戏项目的服务器端,里面用到很多时间戳方面的东西,总是写重复代码也不是回事儿,于是自己封装了一个类 CTimeUtils,精确到毫秒级,也够用了!使用了一些C++11的特性,现在分享给大家希望对大家有帮助!

相关的功能包括:
◆ 获取当前的毫秒级时间戳;
◆ 获取指定时间的毫秒级时间戳;
◆ 获取时间戳字符串;
◆ 获取指定时间的时间戳字符串;
◆ 获取当前的时间;
◆ 获取指定时间戳的时间;
◆ 获取本月最后一天是几号;
◆ 获取本月最后一秒的时间戳;
◆ 获取指定的时间戳是周几;
◆ 两个时间戳之间的间隔是否超过一天;
◆ 两个时间戳之间的间隔是否超过一周;
◆ 两个时间戳之间的间隔是否超过一月;

备注:
这里的时间戳指的是毫秒级时间戳,变量类型是 time_t,值类似这种:1514254520256
这里的时间指的是年月日时分秒这种的格式,变量类型是 date_time,定义如下:
  1. class date_time
  2. {
  3. public:
  4.         date_time()
  5.         {
  6.                 m_year = 0;
  7.                 m_mon = 0;
  8.                 m_mday = 0;
  9.                 m_hour = 0;
  10.                 m_min = 0;
  11.                 m_sec = 0;
  12.                 m_msec = 0;
  13.         };

  14.         date_time(uint_t year, uint_t mon, uint_t day, uint_t hour = 0, uint_t min = 0, uint_t sec = 0, uint_t msec = 0)
  15.         {
  16.                 m_year = year;
  17.                 m_mon = mon;
  18.                 m_mday = day;
  19.                 m_hour = hour;
  20.                 m_min = min;
  21.                 m_sec = sec;
  22.                 m_msec = msec;
  23.         };

  24. public:
  25.         uint_t m_year;        //年
  26.         uint_t m_mon;        //月
  27.         uint_t m_mday;        //日
  28.         uint_t m_hour;        //时
  29.         uint_t m_min;        //分
  30.         uint_t m_sec;        //秒
  31.         uint_t m_msec;        //毫秒
  32. };
复制代码


使用示例:
CTimeUtils time_tools;
time_t curr_time = time_tools.get_timestamp(); //获取当前时间的时间戳

怎么样,方便吧?其他几个接口靠大家自己去发掘吧,有什么问题还请大家跟帖提问!

源代码打包到附件中了,回复后可见!

游客,如果您要查看本帖隐藏内容请回复




上一篇:求大佬看看我的程序咋回事??
下一篇:C++中bitset类的用法
85_avatar_middle
online_vip 发表于 2017-12-26 14:15:03 | 显示全部楼层
大神发帖C++时间戳封装类【跨平台支持】
06_avatar_middle
在线会员 发表于 2017-12-26 14:55:34 | 显示全部楼层
老大发帖C++时间戳封装类【跨平台支持】
91_avatar_middle
在线会员 发表于 2017-12-26 18:10:22 | 显示全部楼层
我想看看,你是好人
49_avatar_middle
在线会员 发表于 2017-12-26 18:58:20 | 显示全部楼层
学习学习!!!!!!!!!!!!
83_avatar_middle
在线会员 发表于 2017-12-26 22:55:23 | 显示全部楼层
支持一下,看一下.
37_avatar_middle
在线会员 发表于 2017-12-26 23:29:25 | 显示全部楼层
看看內容是什麼,感謝分享唷
C++时间戳封装类【跨平台支持】
08_avatar_middle
在线会员 发表于 2017-12-27 10:34:01 | 显示全部楼层
C++时间戳封装类【跨平台支持】
20_avatar_middle
online_vip 发表于 2017-12-27 10:57:18 | 显示全部楼层
cctry终身VIP在此!!!!哈哈哈哈哈!!!!!!!!
69_avatar_middle
在线会员 发表于 2017-12-27 11:39:55 | 显示全部楼层
C++时间戳封装类【跨平台支持】谢谢楼主分享
71_avatar_middle
在线会员 发表于 2017-12-28 14:28:24 | 显示全部楼层
学习,支持一下!
05_avatar_middle
online_vip 发表于 2017-12-28 15:39:03 | 显示全部楼层
感谢老大
87_avatar_middle
在线会员 发表于 2017-12-30 20:46:23 | 显示全部楼层
谢谢老大的无私奉献
72_avatar_middle
在线会员 发表于 2017-12-31 08:56:03 | 显示全部楼层
看看是什么情况
75_avatar_middle
online_vip 发表于 2018-1-1 21:21:35 | 显示全部楼层
顶一下,好东西不要沉了
28_avatar_middle
在线会员 发表于 2018-8-14 20:33:11 | 显示全部楼层
谢谢楼主分享,这个必须mark一下,前面找了好久
81_avatar_middle
online_vip 发表于 2018-8-29 20:41:36 | 显示全部楼层
我想看看!
56_avatar_middle
在线会员 发表于 2019-3-20 14:40:26 | 显示全部楼层
学习学习!!!!!!!!!!!!
72_avatar_middle
在线会员 发表于 2019-5-6 08:27:28 | 显示全部楼层
回复看看,学习学习,谢谢分享
39_avatar_middle
在线会员 发表于 2019-5-6 09:38:49 | 显示全部楼层
挺好 一直懒得去弄这个 有现成的现在
您需要登录后才可以回帖 登录 | 加入驿站 qq_login

本版积分规则

关闭

站长提醒上一条 /2 下一条

QQ|小黑屋|手机版|VC驿站 ( 辽ICP备09019393号tongdun|网站地图wx_jqr

GMT+8, 2019-9-19 00:28

Powered by Discuz! X3.4

© 2009-2019 cctry.com

快速回复 返回顶部 返回列表