2017-05-10 29 views

答えて

3
  1. System.SysUtilsからDateTimeToSystemTimeを呼び出します。
  2. Winapi.WindowsからSystemTimeToFileTimeを呼び出します。

元の日付時刻の値が現地時間の場合は、DateTimeToSystemTimeを呼び出す前にUTCに変換する必要があります。

+0

これは有効ですが、私は2つの理由からこの解決法の大きなファンではありません:1.私は中間構造(SysteTime)と必要ではない呼び出しを使用する必要があります。 2.私は自分の時間価値が何時の基準であるのかを知りません。 – Wodzu

+2

ファンかどうかは、それを行う方法です。細部を隠すヘルパーメソッドでそれを包みなさい。 2つ目のポイントまでは、日付の時間値が与えられたタイムゾーンを知るだけで済みます。日付情報の値から情報を取得することはできません。単純に値の一部ではありません。 –

+0

'FILETIME'は1601年1月1日以降の100ナノ秒の間隔の数を表しており、TDateTimeが表すものを知っているので、1つの関数で1つの値を別の値に変換することができます。それは2つを呼び出し、中間構造を使用するよりも良いです。私はちょうどsomoneがすでにそれをしたと思った。しかし、誰もこの解決法を提案せず、私がそれを実装するのを怠っているなら、私はあなたを受け入れます。 – Wodzu

関連する問題