2009-09-03 5 views

答えて

0

がOLE日付なら、hereから利用可能な情報を使用することは:

DATE型は 8バイトの浮動小数点数を使用して実装されています。日数は、 であり、整数の増分で表され、 から1899年12月30日まで、 深夜0時である。時間値は小数部として表される です。時刻 精度は1秒です。このタイプは で、日付専用( 小数部は0)または時刻限定 (整数部は0)の値を表すためにも使用されます。

これを使用すると、CLR DateTimeに変換できます。

2

Vinayの答えにあるように、VC++ DATEは実際には倍精度です。ダブルで読み込んだ後、説明に基づいて変換するだけです。

double CDate = 8.50; //The DATE from C++ 
DateTime newDate = new DateTime(1899, 12, 30); //Start at 12/30/1899 
int days = (int)Math.Floor(CDate); //Get the days (integer part) 
double hours = (CDate-days) * 24; //Get the hours (fraction part) 

newDate = newDate.AddDays(days).AddHours(hours); 

EDIT それともジョーにより示唆されるようDateTime.FromOADateを使用します。ここでは

は、変換のためのいくつかのサンプルコードです。

あなたは新しいものを学ぶことができます。

+0

ありがとう、皆さん。ここが好きだよ。 – wupher

関連する問題