此问题已在此处有答案:
Is there any date-time module in c++(1个答案)
How to get current time and date in C++?(26答案)
11小时前关闭
我正在为嵌入式Linux系统编写C++代码。传统上,在Linux上,通过调用库函数gettimeofday()
来检索日期和时间。但我觉得这不是很面向对象。我希望能够编写类似这样的代码:
DateTime now = new DateTime;
DateTime duration = new DateTime(2300, DateTime.MILLISECONDS)
DateTime deadline = now + duration;
while(now < deadline){
DoSomething();
delete now;
now = new DateTime()
}
其中有一个DateTime
类,它可以用当前时间或特定时间构造,并且提供成员函数甚至重载运算符来执行对所表示的日期和时间的操作。
C++标准库是否提供了类似的功能?我无法在目标系统上使用Boost库。但是,我可以考虑移植一些简单的东西(例如,只使用头文件实现的东西)。
4条答案
按热度按时间fd3cxomn1#
标准C库中没有用于处理时间和间隔的面向对象接口。
你可能想看看Boost.Date_Time。Boost非常有用,而且写得很好,实际上它是标准C库的一部分。
liwlm1x92#
所以我的目标不可能选择传送推进。相反,我不得不使用gettimeofday()。但是,在
sys/time.h
中有一些很好的宏用于处理timeval结构我花了一段时间才找到它们,因为它们不在我机器上的手册页中。查看此页:http://linux.die.net/man/3/timercmp
qni6mghb3#
我想你应该可以用ctime的东西
应该可以用一种非常便携的方式来完成这项工作。cplusplus.com
brc7rcf04#
给出结构:
在Linux上,你可以使用它。