是否有API将FILETIME格式的时间从UTC转换为本地时间?

时间:2015-07-31 22:25:26

标签: c++ c windows winapi

我知道SystemTimeToTzSpecificLocalTime API可以从UTC时间转换为本地时间,但在SYSTEMTIME格式中需要时间。我很好奇是否有接受FILETIME格式的API?

PS。我知道我可以通过使用FileTimeToSystemTime()然后使用SystemTimeToFileTime()来实现这一点。我只是试图保存两个步骤来转换为SYSTEMTIME并返回。

1 个答案:

答案 0 :(得分:3)

查看FileTimeToLocalFileTime()

  

将(基于UTC的)文件时间转换为本地文件时间。

LocalFileTimeToFileTime()

  

根据协调世界时(UTC)将本地文件时间转换为文件时间。

但是,您无法在指定时区内转换UTC FILETIME和本地FILETIME。本地计算机的当前时区用于转换。文档说明:

  

要考虑将文件时间转换为本地时间时的夏令时,请使用以下函数序列代替使用FileTimeToLocalFileTime:
  1. FileTimeToSystemTime
  2. SystemTimeToTzSpecificLocalTime
  3. SystemTimeToFileTime

  

LocalFileTimeToFileTime使用时区和夏令时的当前设置。因此,如果是夏令时,此功能将考虑夏令时,即使您转换的时间是标准时间。