【发布时间】:2012-05-18 14:13:56
【问题描述】:
我需要从计时器获取毫秒数
// get timer part
time_t timer = time(NULL);
struct tm now = *localtime( &timer );
char timestamp[256];
// format date time
strftime(timestamp, sizeof(timestamp), "%Y-%m-%d_%H.%M.%S", &now);
我想在 C# 中变成这样:
DateTime.Now.ToString("yyyy-MM-dd_HH.mm.ss.ff")
我尝试使用 %f 或 %F 但它确实适用于 C++。如何从 tm 获得毫秒的 %f?
【问题讨论】:
-
time()返回自纪元以来的 integer 秒数。因此显然你不能通过使用它来获得亚秒级的精度。请改用gettimeofday()。 -
这需要仅在 Windows 上工作还是跨平台?
-
对于 unix,请查看我借来的 class,我在 SO 上发布到另一个答案。您可以将其拆解以获取毫秒数。
标签: c++