[ad_1]
n 使用 GetDynamicTimeZoneInformation(&dtzi) 函数,并在 ‘dtzi’ 结构中,它告诉
无论您是否处于夏令时以及夏令时何时开始,通过
这两个日期。 该函数的返回值也告诉您相同的信息。
但是有人如何转换这些夏令时日期和/或标准日期日期
结构为可读的本地日期/时间形式。 请问这在“C”中是如何完成的? 我知道那里
一定要进行一些转换,但是如何转换呢? 不过还是谢谢你的时间。
我尝试过的:
试错法。 使用找到的例子,然后将找到的想法应用到问题上。 有时它不太正常工作,或者根本不起作用。
解决方案1
我在这里假设你正在谈论将两者转换 SYSTEMTIME
结构中的 DYNAMIC_TIME_ZONE_INFORMATION
目的。 为了实现这一目标,我相信您将首先将 SYSTEMTIME
使用结构到本地文件时间 SystemTimeToLocalFileTime
功能。 完成此操作后,您将使用 FileTimeToSystemTime
将本地文件时间转换回 SYSTEMTIME
表示当地时间的日期的结构。 它可能看起来像这样:
C
SYSTEMTIME standardDate = timeZoneInfo.StandardDate; FILETIME localFileTime; SystemTimeToLocalFileTime(&standardDate, &localFileTime); SYSTEMTIME localStandardDate; FileTimeToSystemTime(&localFileTime, &localStandardDate); char dateString[20]; sprintf(dateString, "%d-%02d-%02dT%02d:%02d:%02dT", localStandardDate.wYear, localStandardDate.wMonth, localStandardDate.wDay, localStandardDate.wHour, localStandardDate.wMinute, localStandardDate.wSecond);
请注意,我只是在此处的编辑器中创建此方法,因此这里可能有一两个拼写错误。
[ad_2]
コメント