2013-04-11 121 views
3

要求C++日期和时间用毫秒

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

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

我已经试过

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

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

+7

*“如果可能,早于1970年。”*布朗医生,是你吗? – NPE 2013-04-11 07:42:52

+0

好吧,我不会回到过去,但如果我想存储某人的年龄超过43岁的生日,该怎么办? ;) – bytecode77 2013-04-11 07:46:58

+0

如果您要在毫秒之外获得* precision *,您将不得不考虑不同年份的闰秒和夏令时更改。这将是**难**。 – 2013-04-11 07:50:24

回答

6

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

+0

哇!不知道C++ 11有这么酷的功能:) – bytecode77 2013-04-11 07:49:38

+0

@DevilsChild:是的,非常受欢迎,列表中的下一件大事应该是文件系统/网络实用程序。 – 2013-04-11 08:09:58

+0

我有一个问题:我怎样才能从'time_point'得到秒/小时等部分。就像'11.04.2013 20:25'有一小时的“20”。 – bytecode77 2013-04-11 18:25:24

1

看来你正在寻找gettimeofday

参见例如对于Windows的实现,请参阅here