DateTime.Nowとして定義されたDateTime変数があります。これをFileTimeUtcに「変換」する必要があります。私はこれがうまくいくと思ったので、これを完全に誤解しているに違いありません:
DateTime RunTime;
RunTime = System.DateTime.Now.ToFileTimeUtc();
しかし、タイプlongをsystem.datetimeに暗黙的に変換できないというエラーが発生します。
何か助けはありますか?ありがとう。
DateTime.ToFileTimeUtcは、ではなくlongを返しますDateTime
。ドキュメントから:
Windowsファイル時間は64ビット値であり、1601年1月1日午前0時(CE)協定世界時(UTC)から経過した100ナノ秒間隔の数を表します。Windowsは、ファイル時間を使用して、アプリケーションがファイルを作成、アクセス、または書き込みするタイミングを記録します。
これは次のようになります。
long runTime;
runTime = System.DateTime.Now.ToFileTimeUtc();
Windowsファイルの時刻ではなく、現在の協定世界時だけが必要な場合は、次を使用できます。
DateTime runTime = System.DateTime.UtcNow;
詳細については、 UtcNowを参照してください。
ToFileTimeUtc()
西暦 1601 年 1 月 1 日午前 0 時 (CE) 協定世界時 (UTC) から経過した 100 ナノ秒間隔の数を表す long を返します。
http://msdn.microsoft.com/en-us/library/system.datetime.tofiletimeutc.aspx
long から datetime への暗黙的なキャストは、.net フレームワークではサポートされていません。
UTC を使用して日付を取得する場合ToUniversalTime()
、または UTC を使用して現在を取得する場合UtcNow
http://msdn.microsoft.com/en-us/library/system.datetime.touniversaltime%28v=vs.100%29.aspx