【发布时间】:2015-09-17 17:18:44
【问题描述】:
在我的 C++ windows 应用程序中,我将 SYSTEMTIME 转换为格式化字符串,如下所示:
SYSTEMTIME systemTime;
GetSystemTime(&systemTime);
char pSystemTime[50];
sprintf_s(pSystemTime, 50, "%04d%02d%02d%02d%02d%02d%03u\0", systemTime.wYear, systemTime.wMonth,
systemTime.wDay, systemTime.wHour,
systemTime.wMinute, systemTime.wSecond,
systemTime.wMilliseconds);
现在我有一个自 UNIX 纪元以来的毫秒时间。
long time = 1442524186; //for example
如何将这么长的纪元时间转换为 SYSTEMTIME 以便我也可以将其格式化为字符串?
【问题讨论】:
-
这个提议在我看来在语义上是错误的。
SYSTEMTIME类型的值仅由代表当前系统时间的GetSystemTime生成。此类型不适用于一般用途。您是否研究过格式化 UNIX 时间戳本身的方法?这就是我会做的,当然。
标签: c++