Windows マシンで現地時間を UTC に変換できる必要があります。これを行うと主張するSystemTimeToTzSpecificLocalTime APIを見つけましたが、その説明を読んだところ、次のことがわかりました。
SystemTimeToTzSpecificLocalTime 関数は、次の条件下で現地時間を正しく計算しない場合があります。
- タイム ゾーンは、古い年と新しい年で異なる UTC オフセットを使用します。
- 変換する UTC 時刻と計算された現地時刻の年が異なります。
MS に対する私の最初の修辞的な質問は、「信頼できる API を作成するのはどれくらい難しいですか?」です。
そして、実際の質問 — どうすれば 100% の時間で動作するようになりますか? (そして、その API が示唆するものとは異なります。)