Windowsマシンで現地時間をUTCに変換できる必要があります。私はこれを行うと主張SystemTimeToTzSpecificLocalTime APIを見つけましたが、その後、私はその説明を読み、これを見つけた:C++ WinAPIを使用してWindowsマシンで現地時間をUTCに確実に変換する方法
SystemTimeToTzSpecificLocalTime機能は、以下の条件の下で、誤って現地時間を計算することができる:
- タイムゾーン古い年と新しい年の異なるUTCオフセットを使用します。
- 変換されるUTC時間と計算された現地時間は、別の年です。
は、MSへの私の最初の修辞的な質問「それが信頼性の高いAPIを記述する方法は難しい?」
そして実際の質問 - 時間の100%でどのように動作するのですか? (そしてAPIが示唆しているようなものではない)
将来的にはかなりうまくいかない、たとえば –
逆の代わりに実際に必要な機能しか見つけられなかった場合は、この質問をしないと思うかもしれません。 ['TzSpecificLocalTimeToSystemTime'](http://msdn.microsoft.com/en-us/library/windows/desktop/ms725485.aspx)は、「Windowsマシン上でローカルタイムをUTCに変換する」というものであり、不正確な結果を計算する。 –
@RobKennedy:うん、良い点。なぜTzSpecificLocalTimeToSystemTimeにこの問題がないのですか? – ahmd0