1 / 13
文档名称:

C中的日期和时间.doc

格式:doc   大小:67KB   页数:13页
下载后只包含 1 个 DOC 格式的文档,没有任何的图纸或源代码,查看文件列表

如果您已付费下载过本站文档,您可以点这里二次下载

分享

预览

C中的日期和时间.doc

上传人:63229029 2017/11/8 文件大小:67 KB

下载得到文件列表

C中的日期和时间.doc

相关文档

文档介绍

文档介绍:C/C++中的日期和时间
撰文/周翔
摘要:
本文从介绍基础概念入手,探讨了在C/C++中对日期和时间操作所用到的数据结构和函数,并对计时、时间的获取、时间的计算和显示格式等方面进行了阐述。。
关键字:UTC(世界标准时间),Calendar Time(日历时间),epoch(时间点),clock tick(时钟计时单元)

在C/C++中,对字符串的操作有很多值得注意的问题,同样,C/C++对时间的操作也有许多值得大家注意的地方。最近,在技术群中有很多网友也多次问到过C++语言中对时间的操作、获取和显示等等的问题。下面,在这篇文章中,笔者将主要介绍在C/C++中时间和日期的使用方法.
通过学习许多C/C++库,你可以有很多操作、使用时间的方法。但在这之前你需要了解一些“时间”和“日期”的概念,主要有以下几个:
Coordinated Universal Time(UTC):协调世界时,又称为世界标准时间,也就是大家所熟知的格林威治标准时间(Greenwich Mean Time,GMT)。比如,中国内地的时间与UTC的时差为+8,也就是UTC+8。美国是UTC-5。
Calendar Time:日历时间,是用“从一个标准时间点到此时的时间经过的秒数”来表示的时间。这个标准时间点对不同的编译器来说会有所不同,但对一个编译系统来说,这个标准时间点是不变的,该编译系统中的时间对应的日历时间都通过该标准时间点来衡量,所以可以说日历时间是“相对时间”,但是无论你在哪一个时区,在同一时刻对同一个标准时间点来说,日历时间都是一样的。
epoch:时间点。时间点在标准C/C++中是一个整数,它用此时的时间和标准时间点相差的秒数(即日历时间)来表示。
clock tick:时钟计时单元(而不把它叫做时钟滴答次数),一个时钟计时单元的时间长短是由CPU控制的。一个clock tick不是CPU的一个时钟周期,而是C/C++的一个基本计时单位。
。这个头文件中定义的时间和日期所使用的方法,无论是在结构定义,还是命名,都具有明显的C语言风格。下面,我将说明在C/C++中怎样使用日期的时间功能。
2. 计时
C/C++中的计时函数是clock(),而与其相关的数据类型是clock_t。在MSDN中,查得对clock函数定义如下:
clock_t clock( void );
这个函数返回从“开启这个程序进程”到“程序中调用clock()函数”时之间的CPU时钟计时单元(clock tick)数,在MSDN中称之为挂钟时间(wal-clock)。其中clock_t是用来保存时间的数据类型,,我们可以找到对它的定义:
#ifndef _CLOCK_T_DEFINED
typedef long clock_t;
#define _CLOCK_T_DEFINED
#endif
很明显,clock_t是一个长整形数。,还定义了一个常量CLOCKS_PER_SEC,它用来表示一秒钟会有多少个时钟计时单元,其定义如下:
#define CLOCKS_PER_SEC ((clock_t)1000)
可以看到每过千分之一秒(1毫秒),调用clock()函数返回的值就加1。下面举个例子,你可以使用公式clock()/CLOCKS_PER_SEC来计算一个进程自身的运行时间:
void elapsed_time()
{
printf("Elapsed time:%u secs./n",clock()/CLOCKS_PER_SEC);
}
当然,你也可以用clock函数来计算你的机器运行一个循环或者处理其它事件到底花了多少时间:
#include “”
#include “”
#include “”
int main( void )
{
   long    i = 10000000L;
   clock_t start, finish;
   double  duration;
   /* 测量一个事件持续的时间*/
   printf( "Time to do %ld empty loops is ", i );
   start = clock();
   while( i-- )      ;
   finish = clock();
   duration = (double)(finish - start) / CLOCKS_PER_SEC;
   pri

最近更新

2025年度教育培训合伙人课程研发与推广合同 15页

2025年度新能源项目投资保证书主要条款及专项.. 16页

2025年度智能交通管理系统采购合同示范文本 18页

2018年北京延庆中考生物真题及答案 7页

2025年度白酒线上电商平台合作销售合同范本 13页

银监会法律法规题库含答案 162页

2025年度网络安全保密协议范本 15页

2024年湖南岳阳中考生物试题及答案 12页

2025年度车辆租赁租赁期满结算合同范本 15页

2025年搬迁服务企业信息化建设与支持合同 14页

2025年施工现场安全防护及应急救援物资储备合.. 14页

2025年柴油发电机组租赁与能源交易合同 14页

2025年物流中心搬厂劳务合同执行细则 16页

2025年白糖生产商定制采购合同Word模板免费下.. 17页

2025年网络安全评估与防护技术服务合同模块 3页

2025年重庆建筑工程职业学院单招职业技能考试.. 56页

2022年辽宁营口中考道德与法治真题及答案 10页

2025年重庆电子工程职业学院单招职业技能考试.. 57页

2025年重庆移通学院单招综合素质考试题库附答.. 55页

2025年重庆青年职业技术学院单招职业倾向性考.. 55页

2025年钟山职业技术学院单招职业倾向性测试必.. 55页

2022年北京宣武中考物理真题及答案 10页

2022-2023学年七年级下册数学第七章试卷及答案.. 30页

《雷达基本工作原理》PPT课件 36页

职称过渡说明 6页

立臻线长培训案例作业 6页

血透患者入院须知 2页

降低住院病人出走发生率品管圈汇报书ppt模板课.. 55页

上海实验学校幼升小测试题 34页

四川省2022年普通高校对口招生统一考试语文真.. 10页