要求
我需要在Windows上检索C ++ 11中的日期和时间,包括毫秒。如果可能的话,从1970年开始。
我还需要能够从日期/时间变量中提取年,月,日,小时,秒和毫秒。
我尝试了什么
time()
仅返回秒数。clock()
不会返回日期,只是自上次系统启动以来的时间。适合测量经过的时间,等等。注意:它只能与Windows一起使用。 Linux不是必需的。
答案 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