我需要检索,包括用C在Windows ++ 11毫秒的日期和时间。如果可能的话,从1970年开始。
我还需要能够从日期/时间变量中提取年,月,日,小时,秒和毫秒。
我已经试过
time()
只返回秒。clock()
不返回日期,仅返回自上次系统启动以来的时间。适合测量经过时间,寿。
注意:它只能使用Windows。 Linux不是必需的。
我需要检索,包括用C在Windows ++ 11毫秒的日期和时间。如果可能的话,从1970年开始。
我还需要能够从日期/时间变量中提取年,月,日,小时,秒和毫秒。
我已经试过
time()
只返回秒。clock()
不返回日期,仅返回自上次系统启动以来的时间。适合测量经过时间,寿。注意:它只能使用Windows。 Linux不是必需的。
如果您使用的是C++ 11,则应该使用chrono,这样您可以更轻松地管理时间。 它为您提供了一些方法,以您想要的任何单位“投射”您的时间(秒到毫秒,...),并且也可以管理ctime变量。
哇!不知道C++ 11有这么酷的功能:) – bytecode77 2013-04-11 07:49:38
@DevilsChild:是的,非常受欢迎,列表中的下一件大事应该是文件系统/网络实用程序。 – 2013-04-11 08:09:58
我有一个问题:我怎样才能从'time_point'得到秒/小时等部分。就像'11.04.2013 20:25'有一小时的“20”。 – bytecode77 2013-04-11 18:25:24
看来你正在寻找gettimeofday
。
参见例如对于Windows的实现,请参阅here。
您还可以尝试查看boost :: posix_time。 boost :: posix_time :: ptime有许多方法可以给你秒,毫秒和微秒的时间值。你也可以通过 直接对ptime对象进行操作。 如果您可以自由使用助推项目。我会建议看看它。 http://www.boost.org/doc/libs/1_53_0/doc/html/date_time/posix_time.html
*“如果可能,早于1970年。”*布朗医生,是你吗? – NPE 2013-04-11 07:42:52
好吧,我不会回到过去,但如果我想存储某人的年龄超过43岁的生日,该怎么办? ;) – bytecode77 2013-04-11 07:46:58
如果您要在毫秒之外获得* precision *,您将不得不考虑不同年份的闰秒和夏令时更改。这将是**难**。 – 2013-04-11 07:50:24