C++ 日期和时间

2024年8月28日 | 阅读 4 分钟

在本文中,我们将学习 C++ 中的日期和时间格式。C++ 中没有完整的日期和时间格式,因此我们从 C 语言中继承了它。要在 C++ 中使用日期和时间,需要在程序中添加 <ctime> 头文件。

<ctime>

此头文件包含以下四种时间相关类型:

  • Clock_t - 它代表时钟类型,是算术类型的别名。它表示时钟滴答计数(具有系统特定长度的常数的时间单位)。Clock_t 是 clock()/. 返回的类型。
  • Time_t - 它代表时间类型。它表示由函数 time() 返回的时间。当时间通过 00:00 小时后,它输出一个整数值,表示经过的秒数。
  • Size_t - 它是无符号整数类型的别名,表示任何对象以字节为单位的大小。Size_t 是 sizeof() 运算符的结果,用于打印大小和计数。
  • tm - tm 结构以 C 结构的形式保存日期和时间。它定义如下 -

C++ 中的日期和时间函数

函数名称函数原型函数说明
mktimetime_t mktime(struct tm *time);此函数将 mktime 转换为 time_t 或日历日期和时间。
ctimechar *ctime(const time_t *time);它返回指向以下格式字符串的指针:日 月 年 时:分:秒 年。
difftimedouble difftime ( time_t time2, time_t time1 );它返回两个时间对象 t1 和 t2 的差值。
gmtimestruct tm *gmtime(const time_t *time);此函数以结构体格式返回时间的指针。时间采用 UTC 格式。
clockclock_t clock(void);它返回调用程序运行时间的近似值。如果不可用,则返回值为 .1。
localtimestruct tm *localtime(const time_t *time);此函数返回指向表示本地时间的 tm 结构体的指针。
timetime_t time(time_t *time);它表示当前时间。
strftimesize_t strftime();借助此函数,我们可以以特定方式格式化日期和时间。
asctimechar * asctime ( const struct tm * time );此函数将 tm 类型的对象转换为字符串,并返回指向该字符串的指针。

打印当前日期和时间的示例

以下是打印当前日期和时间(UTC 格式)的示例。

编码

输出

The local date and time is: Wed Sep 22 16:31:40 2021

The UTC date and time is: Wed Sep 22 16:31:40 2021

以下代码说明了如何分解 tm 结构并使用 -> 运算符独立打印每个属性。

编码

输出

Number of seconds since January 1,2021 is:: 1632328553
Year:2021
Month: 9
Day: 22
Time: 21:65:53