c/c++ 时间日期函数

时间日期分类:

  1. 协调世界时UTC,为世界标准时间,也就是大家所熟知的格林威治标准时间。中国内地的时间与UTC的时差为+8,也就是UTC+8。
  2. 日历时间:是用“从一个标准时间点到此时的时间经过的秒数”来表示的时间。
  3. 时钟计时单元。一个时钟计时单元的时间长短是由CPU控制的,但它不是CPU的一个时钟周期,而是C/C++的一个基本计时单位。在标准C/C++中,最小的计时单位是一毫秒。

  1. 程序运行时间:C/C++中的计时函数是clock(),而与其相关的数据类型是clock_t。clock()返回从“开启这个程序进程”到“程序中调用 clock()函数”时之间的CPU时钟计时单元(clock tick)数,在MSDN中称之为挂钟时间(wal-clock)。clock_t是用来保存时间的数据类型,是一个长整形数。 毫秒单位。
    time.h文件中,还定义了一个常量CLOCKS_PER_SEC,它用来表示一秒钟会有多少个时钟计时单元.举个例子,你可以使用公式 clock()/CLOCKS_PER_SEC来计算一个进程自身的运行时间。

  2. time_t time(time_t * timer); time.h 头文件中。获取日历时间。如果你已经声明了参数timer,你可以从参数timer返回现在的日历时间,同时也可以通过返回值返回现在的日历时间,即从一个时间点(例如:1970 年1月1日0时0分0秒)到现在此时的秒数。如果参数为空(NULL),函数将只通过返回值返回现在的日历时间。 秒单位。
    1) struct tm * gmtime(const time_t *timer); 日历时间转换为世界标准时间。
    2)struct tm * localtime(const time_t * timer);将日历时间转化为本地时间。北京时间比世界标准时间晚8小时。
    3)char * asctime(const struct tm * timeptr);通过tm结构来生成具有固定格式的保存时间信息的字符串,只是把tm结构对象中的各个域填到时间字符串的相应位置。 格式:星期几 月份 日期时:分:秒 年\n\0
    4)char * ctime(const time_t *timer);把日历时间转化为本地时间,然后再生成格式化后的字符串。 格式同上。
    5)size_t strftime(char *strDest,size_t maxsize,const char *format,const struct tm *timeptr);自定义日期格式输出。
    6)double difftime(time_t time1, time_t time0); 计算时间间隔,秒单位。
    7)time_t mktime(struct tm * timeptr); 分解日期化为日历时间。

  3. Windows API 获取本地时间。 毫秒单位。 格式化结构体。 SYSTEMTIME sys;
    GetLocalTime( &sys );
  4. Windows API 计时。 微秒单位。 格式化结构体。
    LARGE_INTEGER m_nFreq;
LARGE_INTEGER m_nTime;
QueryPerformanceFrequency(&m_nFreq); // 获取时钟周期
QueryPerformanceCounter(&m_nTime);//获取当前时间
printf(" time:%lld us",(m_lm.QuadPart*1000000/m_nFreq.QuadPart));
  1. Windows API 计时。 毫秒单位。DWORD GetTickCount(void); 返回(retrieve)从操作系统启动所经过(elapsed)的毫秒数。
  2. Windows API 获取时间。 毫秒单位。GetSystemTime()获取的格林尼治时间, 是全球标准时间.。
      SYSTEMTIME stUTC;
      GetSystemTime(&stUTC);
      TCHAR chBuf[nBufSize];
      wsprintf(chBuf,_T("UTC: %u/%u/%u %u:%u:%u:%u %d\r\n"), stUTC.wYear, stUTC.wMonth, stUTC.wDay,
                  stUTC.wHour, stUTC.wMinute, stUTC.wSecond,
                  stUTC.wMilliseconds,stUTC.wDayOfWeek);
  1. Windows API 获取本地时间。 GetLocalTime()在不同的机器中会有不同的结果,这和你在控制面板中的时区设置有关. 该函数是获取的系统当前所属时区的时间, 比如说, 在北京时区, 那么获取的该时间的时间.
  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

-小蛙-

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值