c++++ 内置函数提供时间和日期处理功能,包括获取当前时间戳、获取本地时间结构体、创建日期对象并获取日期组件等。具体操作步骤如下:获取当前时间戳:time(nullptr)转换为本地时间结构体:localtime(&now)创建日期对象:system_clock::now()转换为日期结构体:localtime(&t)
C++ 自身函数详解及应用:时间和日期
C++ 提供了丰富的内置函数来处理时间和日期,方便开发人员在不同应用场景中使用。
时间函数
获取当前时间:
#include <ctime>
time_t now = time(nullptr); // 返回当前时间自 epoch 以来经过的秒数
获取时间结构体:
立即学习“C++免费学习笔记(深入)”;
tm *local = localtime(&now); // 将 now 转换为本地时间结构体
时间结构体包含以下成员:
- tm_sec: 秒(0-59)
- tm_min: 分钟(0-59)
- tm_hour: 小时(0-23)
- tm_mday: 月中的日期(1-31)
- tm_mon: 月份(0-11)
- tm_year: 年份(自从 1900 年以来)
- tm_wday: 星期几(0-6,其中 0 为星期天)
- tm_yday: 年中的第几天(0-365)
日期函数
创建日期对象:
#include <chrono>
using namespace std::chrono;
system_clock::time_point now = system_clock::now(); // 当前系统时间
获取日期组件:
time_t t = system_clock::to_time_t(now);
tm *local = localtime(&t);
cout << local->tm_year + 1900 << "-" << local->tm_mon + 1 << "-" << local->tm_mday << endl;
实战案例:显示当前时间和日期
以下是使用上述函数显示当前时间和日期的代码示例:
#include <ctime>
#include <chrono>
using namespace std;
using namespace std::chrono;
int main() {
// 获取当前时间
time_t now = time(nullptr);
tm *local = localtime(&now);
// 获取系统时间
system_clock::time_point timePoint = system_clock::now();
// 转换为日期结构体
time_t t = system_clock::to_time_t(timePoint);
tm *localDate = localtime(&t);
// 输出时间和日期
cout << "时间:";
cout << local->tm_hour << ":" << local->tm_min << ":" << local->tm_sec << endl;
cout << "日期:";
cout << localDate->tm_year + 1900 << "-" << localDate->tm_mon + 1 << "-" << localDate->tm_mday << endl;
return 0;
}