阅读量:0
C++ 运行时库(CRT)提供了一些函数来处理时间和日期。这些函数位于 <ctime>
头文件中,它们可以帮助你执行常见的时间和日期操作,如获取当前时间、格式化时间以及解析时间字符串等。
以下是一些常用的 C++ CRT 时间和日期函数:
- time() - 返回当前日历时间的一个
time_t
值。
#include <ctime> time_t now = time(0);
- localtime() - 将
time_t
值转换为“本地时间”的tm
结构。
#include <ctime> struct tm *local_time = localtime(&now);
- gmtime() - 将
time_t
值转换为“格林尼治标准时间”的tm
结构。
#include <ctime> struct tm *gmt_time = gmtime(&now);
- ctime() - 将
time_t
值转换为字符串形式。
#include <ctime> char buffer[80]; ctime(buffer); // buffer 现在包含了当前时间的字符串表示
- strftime() - 格式化
tm
结构为字符串。
#include <ctime> struct tm local_time = *localtime(&now); char buffer[80]; strftime(buffer, sizeof(buffer), "%Y-%m-%d %H:%M:%S", &local_time);
- strptime() - 解析日期和时间字符串为
tm
结构。
#include <ctime> const char *date_str = "2023-07-20 15:30:00"; struct tm parsed_time; strptime(date_str, "%Y-%m-%d %H:%M:%S", &parsed_time);
- mktime() - 将
tm
结构转换为time_t
值。
#include <ctime> struct tm local_time = {0, 0, 0, 20, 6, 130}; // July 20, 2023, 00:00:00 time_t new_time = mktime(&local_time);
这些函数提供了对时间和日期的基本操作,但在处理复杂的日期和时间逻辑时,你可能还需要使用 C++11 引入的 <chrono>
库,它提供了更强大和灵活的时间处理功能。