C ++日期&时间以毫秒为单位

时间:2013-04-11 07:40:22

标签: c++ date time

要求

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

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

我尝试了什么

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

注意:它只能与Windows一起使用。 Linux不是必需的。

3 个答案:

答案 0 :(得分:6)

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

答案 1 :(得分:1)

看来你正在寻找gettimeofday

参见例如here用于Windows的实现。

答案 2 :(得分: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