C++ 日期&时间
前言
这一节内容可能会涉及到一些之前所学习的相关知识,如果你还有不明不白的,可以去温习一下之前所学C++基础教程
C++ 日期&时间
在C++编程中,我们可以通过标准库来操作日期和时间,但它没有专门的“日期类型”。取而代之的是通过结构和函数来处理。这些功能是从C语言继承而来的,需要使用 <ctime> 头文件。
C++ 提供了几种与时间相关的类型和结构:
time_t: 用于存储系统时间,表示从1970年1月1日开始的秒数。tm: 是一个结构体,用来表示更详细的日期和时间信息,比如年、月、日、时、分、秒等。
tm结构体长什么样?
tm 是一个保存日期和时间信息的结构,定义如下:
1 | struct tm { |
常见日期和时间的操作函数
| 函数 | 作用 |
|---|---|
time() |
获取当前时间(从1970年到现在的秒数) |
localtime() |
将时间转换为本地时间,并返回 tm 结构 |
gmtime() |
将时间转换为 UTC 时间(格林威治时间),返回 tm 结构 |
ctime() |
将时间转换为可读的字符串,比如 Mon Jan 1 12:34:56 2024 |
asctime() |
将 tm 结构转换为字符串形式 |
difftime() |
计算两个时间点的秒差 |
strftime() |
自定义格式化输出时间 |
实例1:获取当前日期和时间
以下代码演示如何获取并打印系统的当前时间:
1 |
|
运行结果示例:
1 | 本地日期和时间:Sat Nov 16 15:35:21 2024 |
实例2:格式化日期和时间
使用 tm 结构可以详细访问时间信息,比如年、月、日等:
1 |
|
运行结果示例:
1 | 1970到现在经过的秒数:1737093321 |
小总结
time_t是一个简单的整数类型,用来表示时间戳。tm是一个更复杂的结构,用来处理年月日等详细信息。- 我们可以通过函数(如
localtime或gmtime)来获取和转换时间,然后打印出想要的格式。
本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明来源 Matou🚢!
评论








