tagCANDY CGI VBレスキュー(花ちゃん)の Visual Basic 6.0用 掲示板
VBレスキュー(花ちゃん)の Visual Basic 6.0用 掲示板
[ツリー表示へ]  [ワード検索]  [Home]

タイトル 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 になる理由がご理解頂けたでしょうか?

- 関連一覧ツリー をクリックするとツリー全体を一括表示します)

古いスレッドにレスはつけられません。