VC驿站

 找回密码
 加入驿站

QQ登录

只需一步,快速开始

有编程疑问吗?还请到提问专区发帖提问!
搜索
查看: 862|回复: 16

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

[复制链接]
51_avatar_middle
online_admins Syc 发表于 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 kadingxiaodi 发表于 2017-12-26 14:15:03 | 显示全部楼层
大神发帖C++时间戳封装类【跨平台支持】

发帖求助前要善用论坛搜索功能,那里可能会有你要找的答案;

如果你已经在论坛发帖求助,并且从坛友或者管理的回复中解决了问题,请编辑帖子并把分类改成【已解决】

如何回报帮助你解决问题的坛友?可以给对方加【热心】【驿站币】,加分不会扣除自己的积分,做一个热心并受欢迎的人!

回复 支持 反对

使用道具 举报

06_avatar_middle
在线会员 angeltony 发表于 2017-12-26 14:55:34 | 显示全部楼层
老大发帖C++时间戳封装类【跨平台支持】

发帖求助前要善用论坛搜索功能,那里可能会有你要找的答案;

如果你已经在论坛发帖求助,并且从坛友或者管理的回复中解决了问题,请编辑帖子并把分类改成【已解决】

如何回报帮助你解决问题的坛友?可以给对方加【热心】【驿站币】,加分不会扣除自己的积分,做一个热心并受欢迎的人!

回复 支持 反对

使用道具 举报

91_avatar_middle
在线会员 872535954 发表于 2017-12-26 18:10:22 | 显示全部楼层
我想看看,你是好人

发帖求助前要善用论坛搜索功能,那里可能会有你要找的答案;

如果你已经在论坛发帖求助,并且从坛友或者管理的回复中解决了问题,请编辑帖子并把分类改成【已解决】

如何回报帮助你解决问题的坛友?可以给对方加【热心】【驿站币】,加分不会扣除自己的积分,做一个热心并受欢迎的人!

回复 支持 反对

使用道具 举报

49_avatar_middle
在线会员 wangxp 发表于 2017-12-26 18:58:20 | 显示全部楼层
学习学习!!!!!!!!!!!!

发帖求助前要善用论坛搜索功能,那里可能会有你要找的答案;

如果你已经在论坛发帖求助,并且从坛友或者管理的回复中解决了问题,请编辑帖子并把分类改成【已解决】

如何回报帮助你解决问题的坛友?可以给对方加【热心】【驿站币】,加分不会扣除自己的积分,做一个热心并受欢迎的人!

回复 支持 反对

使用道具 举报

83_avatar_middle
在线会员 ligeng 发表于 2017-12-26 22:55:23 | 显示全部楼层
支持一下,看一下.

发帖求助前要善用论坛搜索功能,那里可能会有你要找的答案;

如果你已经在论坛发帖求助,并且从坛友或者管理的回复中解决了问题,请编辑帖子并把分类改成【已解决】

如何回报帮助你解决问题的坛友?可以给对方加【热心】【驿站币】,加分不会扣除自己的积分,做一个热心并受欢迎的人!

回复 支持 反对

使用道具 举报

37_avatar_middle
在线会员 kolong5566 发表于 2017-12-26 23:29:25 | 显示全部楼层
看看內容是什麼,感謝分享唷
C++时间戳封装类【跨平台支持】

发帖求助前要善用论坛搜索功能,那里可能会有你要找的答案;

如果你已经在论坛发帖求助,并且从坛友或者管理的回复中解决了问题,请编辑帖子并把分类改成【已解决】

如何回报帮助你解决问题的坛友?可以给对方加【热心】【驿站币】,加分不会扣除自己的积分,做一个热心并受欢迎的人!

回复 支持 反对

使用道具 举报

08_avatar_middle
在线会员 woliveyou 发表于 2017-12-27 10:34:01 | 显示全部楼层
C++时间戳封装类【跨平台支持】

发帖求助前要善用论坛搜索功能,那里可能会有你要找的答案;

如果你已经在论坛发帖求助,并且从坛友或者管理的回复中解决了问题,请编辑帖子并把分类改成【已解决】

如何回报帮助你解决问题的坛友?可以给对方加【热心】【驿站币】,加分不会扣除自己的积分,做一个热心并受欢迎的人!

回复 支持 反对

使用道具 举报

20_avatar_middle
online_vip win 发表于 2017-12-27 10:57:18 | 显示全部楼层
cctry终身VIP在此!!!!哈哈哈哈哈!!!!!!!!

发帖求助前要善用论坛搜索功能,那里可能会有你要找的答案;

如果你已经在论坛发帖求助,并且从坛友或者管理的回复中解决了问题,请编辑帖子并把分类改成【已解决】

如何回报帮助你解决问题的坛友?可以给对方加【热心】【驿站币】,加分不会扣除自己的积分,做一个热心并受欢迎的人!

回复 支持 反对

使用道具 举报

69_avatar_middle
在线会员 windowswan 发表于 2017-12-27 11:39:55 | 显示全部楼层
C++时间戳封装类【跨平台支持】谢谢楼主分享

发帖求助前要善用论坛搜索功能,那里可能会有你要找的答案;

如果你已经在论坛发帖求助,并且从坛友或者管理的回复中解决了问题,请编辑帖子并把分类改成【已解决】

如何回报帮助你解决问题的坛友?可以给对方加【热心】【驿站币】,加分不会扣除自己的积分,做一个热心并受欢迎的人!

回复 支持 反对

使用道具 举报

71_avatar_middle
在线会员 silvanEvil 发表于 2017-12-28 14:28:24 | 显示全部楼层
学习,支持一下!

发帖求助前要善用论坛搜索功能,那里可能会有你要找的答案;

如果你已经在论坛发帖求助,并且从坛友或者管理的回复中解决了问题,请编辑帖子并把分类改成【已解决】

如何回报帮助你解决问题的坛友?可以给对方加【热心】【驿站币】,加分不会扣除自己的积分,做一个热心并受欢迎的人!

回复 支持 反对

使用道具 举报

05_avatar_middle
online_vip gjianbo 发表于 2017-12-28 15:39:03 | 显示全部楼层
感谢老大

发帖求助前要善用论坛搜索功能,那里可能会有你要找的答案;

如果你已经在论坛发帖求助,并且从坛友或者管理的回复中解决了问题,请编辑帖子并把分类改成【已解决】

如何回报帮助你解决问题的坛友?可以给对方加【热心】【驿站币】,加分不会扣除自己的积分,做一个热心并受欢迎的人!

回复 支持 反对

使用道具 举报

87_avatar_middle
在线会员 cqzj70 发表于 2017-12-30 20:46:23 | 显示全部楼层
谢谢老大的无私奉献

发帖求助前要善用论坛搜索功能,那里可能会有你要找的答案;

如果你已经在论坛发帖求助,并且从坛友或者管理的回复中解决了问题,请编辑帖子并把分类改成【已解决】

如何回报帮助你解决问题的坛友?可以给对方加【热心】【驿站币】,加分不会扣除自己的积分,做一个热心并受欢迎的人!

回复 支持 反对

使用道具 举报

72_avatar_middle
在线会员 game168 发表于 2017-12-31 08:56:03 | 显示全部楼层
看看是什么情况

发帖求助前要善用论坛搜索功能,那里可能会有你要找的答案;

如果你已经在论坛发帖求助,并且从坛友或者管理的回复中解决了问题,请编辑帖子并把分类改成【已解决】

如何回报帮助你解决问题的坛友?可以给对方加【热心】【驿站币】,加分不会扣除自己的积分,做一个热心并受欢迎的人!

回复 支持 反对

使用道具 举报

75_avatar_middle
online_vip xjianguo80 发表于 2018-1-1 21:21:35 | 显示全部楼层
顶一下,好东西不要沉了

发帖求助前要善用论坛搜索功能,那里可能会有你要找的答案;

如果你已经在论坛发帖求助,并且从坛友或者管理的回复中解决了问题,请编辑帖子并把分类改成【已解决】

如何回报帮助你解决问题的坛友?可以给对方加【热心】【驿站币】,加分不会扣除自己的积分,做一个热心并受欢迎的人!

回复 支持 反对

使用道具 举报

28_avatar_middle
在线会员 AOL086 发表于 2018-8-14 20:33:11 | 显示全部楼层
谢谢楼主分享,这个必须mark一下,前面找了好久

发帖求助前要善用论坛搜索功能,那里可能会有你要找的答案;

如果你已经在论坛发帖求助,并且从坛友或者管理的回复中解决了问题,请编辑帖子并把分类改成【已解决】

如何回报帮助你解决问题的坛友?可以给对方加【热心】【驿站币】,加分不会扣除自己的积分,做一个热心并受欢迎的人!

回复 支持 反对

使用道具 举报

81_avatar_middle
online_vip Tiptoe 发表于 2018-8-29 20:41:36 | 显示全部楼层
我想看看!

发帖求助前要善用论坛搜索功能,那里可能会有你要找的答案;

如果你已经在论坛发帖求助,并且从坛友或者管理的回复中解决了问题,请编辑帖子并把分类改成【已解决】

如何回报帮助你解决问题的坛友?可以给对方加【热心】【驿站币】,加分不会扣除自己的积分,做一个热心并受欢迎的人!

回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 加入驿站 qq_login

本版积分规则

关闭

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

QQ
QQ在线咨询
联系电话
13591366679
手机扫一扫 关注本站精彩内容
wxqrcode

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

GMT+8, 2018-10-20 17:46

Powered by Discuz! X3.4

© 2009-2018 cctry.com

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