C++ 标准库 <ctime>
C++ 标准库
C++ 标准库提供了丰富的功能,其中
time_t:表示时间的类型,通常是一个长整型。
tm:一个结构体,用于表示时间的各个部分,如年、月、日、小时等。
一系列函数,如 time(), localtime(), gmtime(), strftime() 等。
语法
以下是
获取当前时间(以秒为单位,从1970年1月1日开始计算):
time_t t = time(NULL);
将 time_t 类型的时间转换为 tm 结构体:
struct tm *tm = localtime(&t);
将 time_t 类型的时间转换为协调世界时(UTC)的 tm 结构体:
struct tm *tm_utc = gmtime(&t);
格式化时间:
char buffer[80];
strftime(buffer, 80, “%Y-%m-%d %H:%M:%S”, tm);
实例
下面是一个使用
实例
#include
#include
#include
#include
int main() {
// 获取当前时间
time_t now = time(NULL);
// 将当前时间转换为本地时间
struct tm *local_tm = localtime(&now);
// 使用 strftime 格式化时间
char buffer[80];
strftime(buffer, 80, “%Y-%m-%d %H:%M:%S”, local_tm);
// 输出当前时间
std::cout << “Current local time: “ << buffer << std::endl;
// 将当前时间转换为UTC时间
struct tm *utc_tm = gmtime(&now);
// 格式化UTC时间
strftime(buffer, 80, “%Y-%m-%d %H:%M:%S”, utc_tm);
// 输出UTC时间
std::cout << “Current UTC time: “ << buffer << std::endl;
return 0;
}
运行上述程序,你将看到类似以下的输出(具体时间取决于你运行程序的时间):
Current local time: 2023-04-01 12:34:56
Current UTC time: 2023-04-01 12:34:56
请注意,由于时区差异,本地时间和UTC时间可能相同,也可能不同。