没有合适的资源?快使用搜索试试~ 我知道了~
首页C++中的日期和时间_time_t与struct_tm
资源详情
资源推荐
摘要:
本文从介绍基础概念入手,探讨了在 中对日期和时间操作所用到的数据
结构和函数,并对计时、时间的获取、时间的计算和显示格式等方面进行了阐
述。本文还通过大量的实例向你展示了 头文件中声明的各种函数和数
据结构的详细使用方法。
关键字:(世界标准时间),(日历时间),(时
间点),(时钟计时单元)
.概念
在 中,对字符串的操作有很多值得注意的问题,同样,对时间
的操作也有许多值得大家注意的地方。最近,在技术群中有很多网友也多次问
到过 语言中对时间的操作、获取和显示等等的问题。下面,在这篇文章中,
笔者将主要介绍在 中时间和日期的使用方法
通过学习许多 库,你可以有很多操作、使用时间的方法。但在这之前你
需要了解一些“时间”和“日期”的概念,主要有以下几个:
():协调世界时,又称为世界标准时间,
也就是大家所熟知的格林威治标准时间(,)。
比如,中国内地的时间与 的时差为,也就是 。美国是
。
:日历时间,是用“从一个标准时间点到此时的时间经过的秒
数”来表示的时间。这个标准时间点对不同的编译器来说会有所不同,但对一个
编译系统来说,这个标准时间点是不变的,该编译系统中的时间对应的日历时
间都通过该标准时间点来衡量,所以可以说日历时间是“相对时间”,但是无论
你在哪一个时区,在同一时刻对同一个标准时间点来说,日历时间都是一样的。
:时间点。时间点在标准 中是一个整数,它用此时的时间和标
准时间点相差的秒数(即日历时间)来表示。
:时钟计时单元(而不把它叫做时钟滴答次数),一个时钟计时单
元的时间长短是由 控制的。一个 不是 的一个时钟周期,
而是 的一个基本计时单位。
我们可以使用 !"# 标准库中的 头文件。这个头文件中定义的时间和日
期所使用的方法,无论是在结构定义,还是命名,都具有明显的 语言风格。
下面,我将说明在 中怎样使用日期的时间功能。
$. 计时
中的计时函数是 %&,而与其相关的数据类型是 '。在
"(! 中,查得对 函数定义如下:
'%&)
这个函数返回从“开启这个程序进程”到“程序中调用 %&函数”时之间的
时钟计时单元()数,在 "(! 中称之为挂钟时间(
)。其中 ' 是用来保存时间的数据类型,在 文件中,我们
可以找到对它的定义:
*++',-.''(/0#!/(
1+2')
*3',-.''(/0#!/(
*+
很明显,' 是一个长整形数。在 文件中,还定义了一个常量
,-."'/4'"/,它用来表示一秒钟会有多少个时钟计时单元,其定义如
下:
*3,-."'/4'"/%%'&555&
可以看到可以看到每过千分之一秒( 毫秒),调用 ()函数返回的值就
加 。下面举个例子,你可以使用公式 %&,-."'/4'"/ 来计算一
个进程自身的运行时间:
'%&
6
+%7/89:;7<%&,-."'/4'"/&)
=
当然,你也可以用 函数来计算你的机器运行一个循环或者处理其它事件
到底花了多少时间:
#:>?
#:>@?
#:>?
%&
6
AAAA2AAAAAB5555555,)
AAAA'<3)
AAAA:@AAA:)
AAAAC测量一个事件持续的时间C
AAAA+%7917<&)
AAAAB%&)
AAAA%&AAAAAAA)
AAAA3B%&)
AAAA:B%:@&%3&,-."'/4'"/)
AAAA+%79+;7<:&)
AAAA1%7:7&)
=
在笔者的机器上,运行结果如下:
5555555155D555
上面我们看到时钟计时单元的长度为 毫秒,那么计时的精度也为 毫秒,那
么我们可不可以通过改变 ,-."'/4'"/ 的定义,通过把它定义的大一些,
从而使计时精度更高呢?通过尝试,你会发现这样是不行的。在标准 中,
最小的计时单位是一毫秒。
D.与日期和时间相关的数据结构
在标准 中,我们可通过 结构来获得日期和时间, 结构在
中的定义如下:
*++''(/0#!/(
:6
AAAAAAAAA')AAAAAAC秒 – 取值区间为E5<FGC
AAAAAAAAA')AAAAAAC分 取值区间为E5<FGC
AAAAAAAAA':)AAAAAC时 取值区间为E5<$DGC
AAAAAAAAA'1)AAAAAC一个月中的日期 取值区间为E<DGC
AAAAAAAAA')AAAAAAC月份(从一月开始,5 代表一月) 取值区间为
E5<GC
AAAAAAAAA'1)AAAAAC年份,其值等于实际年份减去 F55C
AAAAAAAAA'1)AAAAAC星期 – 取值区间为E5<HG,其中 5 代表星期天,
代表星期一,以此类推 C
AAAAAAAAA'11)AAAAAC从每年的 月 日开始的天数 – 取值区间为
E5<DHG,其中 5 代表 月 日, 代表 月 $ 日,以此类推 C
AAAAAAAAA')AAAAC夏令时标识符,实行夏令时的时候,' 为正。
不实行夏令时的进候,' 为 5;不了解情况时,'%&为负。C
AAAAAAAAA=)
*3''(/0#!/(
*+
!"# 标准称使用 结构的这种时间表示为分解时间%@
&。
剩余10页未读,继续阅读
Dphenixiong
- 粉丝: 0
- 资源: 16
上传资源 快速赚钱
- 我的内容管理 收起
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
会员权益专享
最新资源
- zigbee-cluster-library-specification
- JSBSim Reference Manual
- c++校园超市商品信息管理系统课程设计说明书(含源代码) (2).pdf
- 建筑供配电系统相关课件.pptx
- 企业管理规章制度及管理模式.doc
- vb打开摄像头.doc
- 云计算-可信计算中认证协议改进方案.pdf
- [详细完整版]单片机编程4.ppt
- c语言常用算法.pdf
- c++经典程序代码大全.pdf
- 单片机数字时钟资料.doc
- 11项目管理前沿1.0.pptx
- 基于ssm的“魅力”繁峙宣传网站的设计与实现论文.doc
- 智慧交通综合解决方案.pptx
- 建筑防潮设计-PowerPointPresentati.pptx
- SPC统计过程控制程序.pptx
资源上传下载、课程学习等过程中有任何疑问或建议,欢迎提出宝贵意见哦~我们会及时处理!
点击此处反馈
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功