タイトル : Re: 日付関数DateValueについて 投稿日 : 2011/01/08(Sat) 11:51 投稿者 : 花ちゃん
> VB6,WindowsXP > ヘルプではDateValueは1900/1/1のシリアル値を[1]とすると > ありますが、 どのヘルプのどこに書いてあった事でしょうか? MSDN VB6.0 の DateValue 関数の解説には、VB5.0 の頃より現在でも下記内容かと。 http://msdn.microsoft.com/ja-jp/library/cc410224.aspx >私のパソコンでは[2]が返ります。 下記のような事で見ていませんか? CLng(DateValue("1900/1/1")) > なぜなのかわかりません。教えてください。 > ちなみに、DateSerial(1900,1,1)も[2]となり、また、Excel > (2003)では[1]が返ります。 Excel の DateValue 関数 と VB6.0 の DateValue 関数 は別かと。 Excel で =DATEVALUE("1901/01/01") を見て下さい。 367 になりませんか(VB6.0 と同じ) 因みに、Excel の場合、1900 年はうるう年としているようです。(バグ? 故意) MSDN(ヘルプ) で DATE データ型 を調べて見て下さい。(下記一部抜粋) http://msdn.microsoft.com/ja-jp/library/82ab7w69.aspx DATE 型のデータは 8 バイトの浮動小数点数値で、実数部が日付、小数部が時刻を示します。日付は 1899 年 12 月 30 日の午前零時がゼロで、1 日ごとに 1 増加します。時刻は 1.0 が 24 時間の小数です。たとえば、次のように表されます。 日付と時刻 対応する数値 1899 年 12 月 30 日午前零時 0.00 1900 年 1 月 1 日午前零時 2.00 1900 年 1 月 4 日午前零時 5.00 これで、2 になる理由がご理解頂けたでしょうか? |