C++如何简单输出当前日期时间

介绍

在C++编程中,我们可能需要输出当前的日期时间。这些信息对于日志记录,文件命名以及其他类似的应用程序非常有用。在本篇文章中,我们将介绍如何使用C++来输出当前的日期和时间。

包含头文件

在开始之前,我们需要先包含相应的头文件。我们需要包含ctime和iostream头文件。它们分别用于日期时间和C++iostream操作。

#include<iostream>

#include<ctime>

using namespace std;

获取当前日期和时间

我们需要使用本地时间函数(localtime)获取当前系统时间,该函数所返回的是tm结构体指针,其中包含有年份、月份、日份、星期、小时、分钟和秒等时间信息。

time_t now = time(0);

tm *gmtm = localtime(&now);

这里我们获取的是以秒为单位的UNIX时间戳,包含了从1970年1月1日到现在的秒数.

格式化输出

在获取到日期时间信息之后,我们需要将其格式化输出。我们可以使用strftime函数在指定的格式下对日期时间进行格式化。例如,下面的代码将输出当前时间的完整日期和时间:

char buffer[80];

strftime(buffer, 80, "%Y-%m-%d %H:%M:%S", gmtm);

cout << buffer;

这里的buffer是存储结果的字符数组,80表示数组的长度。"%Y-%m-%d %H:%M:%S"是格式化字符串,它指定了输出的日期时间的格式。

%Y:代表完整的年份,比如"2022"。

%m:代表月份,比如"01"。

%d:代表天数,比如"01"。

%H:代表小时,比如"09"。

%M:代表分钟,比如"30"。

%S:代表秒,比如"15"。

为了输出一个带时区偏移量的日期时间,我们也可以使用gmtime函数进行调整,其他的地方则保留不变。

time_t now = time(0);

tm *gmtm = gmtime(&now);

char buffer[80];

strftime(buffer, 80, "%Y-%m-%d %H:%M:%S %Z", gmtm);

cout << buffer;

这里的"%Z"用于输出时区偏移量。

完整代码

在这里,我们给出了完整的C++代码:

#include<iostream>

#include<ctime>

using namespace std;

int main()

{

// 获取当前时间

time_t now = time(0);

tm *gmtm = localtime(&now);

char buffer[80];

strftime(buffer, 80, "%Y-%m-%d %H:%M:%S", gmtm);

cout << buffer;

return 0;

}

总结

在这篇文章中,我们介绍了如何使用C++输出当前日期和时间。我们首先包含了不同的头文件,然后使用本地时间函数(localtime)获取当前时间日期,并使用strftime函数将其转换为指定格式进行输出。

后端开发标签