5

要求

我需要在 Windows 上以 C++11 检索日期和时间,包括毫秒。如果可能,从 1970 年之前开始。

我还需要能够从日期/时间变量中提取年、月、日、小时、秒和毫秒。

我试过的

  • time()只返回秒。
  • clock()不返回日期,只返回自上次系统启动以来的时间。非常适合测量经过的时间。

注意:它仅适用于 Windows。Linux 不是必需的。

4

3 回答 3

7

如果您使用的是 c++11,则应使用chrono,它可以让您更轻松地管理时间。它为您提供了一些方法来以您想要的任何单位(秒到毫秒,...)“投射”您的时间,并且还可以管理 ctime 变量。

于 2013-04-11T07:44:39.033 回答
0

看来您正在寻找gettimeofday.

有关Windows 的实现,请参见此处。

于 2013-04-11T07:42:22.777 回答
0

您也可以尝试查看 boost::posix_time。boost::posix_time::ptime 有许多方法可以为您提供以秒、毫秒和微秒为单位的时间值。您也可以直接对 ptime 对象进行操作。如果您可以在项目中自由使用 boost。我建议看看它。 http://www.boost.org/doc/libs/1_53_0/doc/html/date_time/posix_time.html

于 2013-04-11T08:36:41.237 回答