2017-12-15 5 views
1

外部アプリケーション用のxmlファイルを作成する必要があります。ファイル構造の説明がないため、リバースエンジニアリングする必要があります。元の必須ファイルの属性は特別な日時フォーマットをdoubleのように見える文字列にします

LastChange = "43061.2997590394" 

です。これは特別なDateTime形式の結果だと思います。

DateTime.Parse("43061.2997590394")は例外をスローします。

これはどのような形式ですか?

+0

「TimeSpan」のいくつかの '.Total *'プロパティーだと思います。 – Ferus7

答えて

4

MSDNから

double oaValue = double.Parse("43061.2997590394", CultureInfo.InvariantCulture); 
DateTime dt = DateTime.FromOADate(oaValue); // Result: 11/22/2017 07:11:39 

備考使用DateTime.FromOADate

OLEオートメーション日付はその 積分成分は真夜中前または後の日数であり、浮動小数点数、30として実装されています 1899年12月、その小数成分はその日を で24で割った時間を表します。たとえば、1899年12月31日の深夜はです1.0で表される; A.M.、1900年1月1日は2.25で表され、 深夜1899年12月29日は-1.0で表されます。および6 A.M.、29 1899年12月は-1.25で表される。

ベースOLEオートメーション日付は、12月30日1899年真夜中です 最小OLEオートメーション日付は最大 OLEオートメーション日付はDateTime.MaxValue、12月31日の最後の瞬間 と同じであり、1月1日0100真夜中です9999.

+0

これは機能します。ありがとう – sven

関連する問題