今年度は365日のはずなのに、、、

解決済みの質問

今年度は365日のはずなのに、、、

vbaです。
イミディエイトウィンドウで
?CLng(CDate("2010/12/31")) - CLng(CDate("2010/1/1"))
を実行すると
返り値が364になります。
なぜ365にならないのでしょう?

投稿日時 - 2010-02-09 22:29:02

QNo.5663106

暇なときに回答ください

質問者が選んだベストアンサー

2月10日から2月1日を引くと9日になりますよね。
それと同じです。
2月10日から1月31日を引けば10日になります。

つまり日の始まり基準で考えているので、
12月31日というのは12月31日の午前零時、つまり12月30日と31日の間の
真夜中の12時になるので、12月31日の一日はカウントされません。

投稿日時 - 2010-02-09 22:37:07

お礼

なるほど、簡単な仕組みですね。どうもありがとうございました。

投稿日時 - 2010-02-15 21:58:02

ANo.1

1人が「このQ&Aが役に立った」と投票しています

[  前へ  |  次へ ]

ベストアンサー以外の回答(2件中 1~2件目)

ANo.3

 2010/1/1 は 2010年のうちにふくまれる1日ですから、それを引いてしまうと365日から1日少なくなります。

投稿日時 - 2010-02-10 12:11:57

お礼

どうもありがとうございました。

投稿日時 - 2010-02-15 21:58:30

ANo.2

1年間を計算するなら、2011/1/1-2010/1/1を計算しないと。

投稿日時 - 2010-02-10 12:04:37

お礼

そういうことですか。どうもありがとうございました。

投稿日時 - 2010-02-15 21:58:20

あわせてチェックしたい
  • Accessの検索フォーム(CLng)で。 ...
  • イミディエイトウィンドウ ...
  • エクセルでの計算方法?365*364*363*362~ ...
PR
【回答募集中】花粉にひと言、物申す![ 詳細 ]

OKWaveのオススメ

教えて弁護士さん!

お金の悩みQ&A特集はこちら