获取计算机时间c ++

Get computer time c++

本问题已经有最佳答案,请猛点这里访问。

我正在使用C ++。 我想获得计算机时间(我知道如何处理ctime功能)。 我想花时间像一个int变量(秒,分钟等)。 有帮助吗?

就像是:
int sec = get.sec();
int min = get.min();

我不想要time_t变量。


在C ++ 11中,您可以使用。 您还可以使用time(2),localtime(3),strftime(3),clock(3),clock_gettime(2)(如果您的系统有它们)。 大概

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

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

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

当然,原则上你应该测试timelocaltime等的失败...(但我从未让这些函数失败)。

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

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