📜  C++ asctime()(1)

📅  最后修改于: 2023-12-03 14:39:49.368000             🧑  作者: Mango

C++ asctime()

简介

asctime() 是C++的一个日期和时间处理函数,用于将格林威治时间(GMT)转换为本地时间,并以特定格式返回时间字符串。它是C语言的时间库中的一个函数,在 <ctime> 头文件中定义。asctime() 函数返回的时间字符串的格式遵循标准的 asctime 格式。

语法
char* asctime(const struct tm* time_ptr);
参数
  • time_ptr: 指向一个 struct tm 结构体类型的指针,该结构体内包含了日期和时间的信息。
返回值
  • asctime() 函数返回一个指向包含日期和时间的字符串的指针,格式为 "Weekday Month Day HH:MM:SS Year\n"。
示例
#include <iostream>
#include <ctime>

int main() {
    time_t rawtime;
    struct tm* timeinfo;
    char buffer[80];

    // 获取当前时间
    time(&rawtime);
    timeinfo = localtime(&rawtime);

    // 将时间转换为字符串
    strftime(buffer, 80, "%Y-%m-%d %H:%M:%S", timeinfo);

    std::cout << "Current local time: " << buffer << std::endl;

    // 使用 asctime() 转换时间为字符串
    char* timeString = asctime(timeinfo);
    std::cout << "Current local time (asctime): " << timeString << std::endl;

    return 0;
}
输出
Current local time: 2022-11-30 15:30:45
Current local time (asctime): Wed Nov 30 15:30:45 2022
解释

在上述示例中,我们首先获取了当前的本地时间,并将其格式化为自定义的字符串格式。然后,我们使用 asctime() 函数将时间转换为标准的 asctime 格式的字符串。最后,我们将这两个时间字符串输出到控制台。

需要注意的是,asctime() 函数返回的时间字符串结尾处包含一个换行符 \n