获取计算机时间 c++



我正在使用C++。我想获得计算机时间(我知道如何使用ctime函数)。我想像 int 变量(秒、分钟等)一样占用时间。有什么帮助吗?

像这样:int sec = get.sec();int min = get.min();

我不想要time_t变量。

在 C++11 中,您可以使用 <chrono> .你也可以使用 time(2)、localtime(3)、strftime(3)、clock(3)、clock_gettime(2)(如果你的系统有它们)。可能

 time_t now=0;
 time(&now);
 char nowbuf[64];
 strftime(nowbuf, sizeof(nowbuf), "%c", localtime(now));

如果你想要一些字符串,可能是相关的。否则,请注意,localtime返回一个指针,指向具有许多数值字段的struct tm。例如

struct tm* lt = localtime(now);
int hours = lt->tm_hour;
int minutes = lt->tm_min;

当然,原则上你应该需要测试timelocaltime等的故障。(但我从未有过这些功能失败)。

详细信息通常特定于操作系统。如果在 Linux 上,读取时间(7);一些框架库(如 POCO 或 Qt)可能会在它们之上提供一个通用的(独立于操作系统的)抽象。

顺便说一句,您可能关心或不关心时区,您可能想要gmtime而不是localtime.

最新更新