C# と VB.NET の質問掲示板

ASP.NET、C++/CLI、Java 何でもどうぞ

C# と VB.NET の入門サイト

Re[2]: 何日間あるのか日付の考え方について


(過去ログ 14 を表示中)

[トピック内 8 記事 (1 - 8 表示)]  << 0 >>

■4822 / inTopicNo.1)  何日間あるのか日付の考え方について
  
□投稿者/ 長谷川 (4回)-(2007/06/26(Tue) 14:43:49)

分類:[VB.NET (Windows)] 

VB.NET2005を使用していますが、この質問は考え方の問題なので言語は問わないと思います。
何日間あるかの問題です。
例えば
5/3〜5/15だと
15日-3日=12
その日も含めるので+1
12+1=13

13日間ということになります。

月がまたがった場合上記の計算ではダメでどうもわかりません。
わかる方いらっしゃいましたらお願い致します。

5/15〜6/10とか
引用返信 編集キー/
■4823 / inTopicNo.2)  Re[1]: 何日間あるのか日付の考え方について
□投稿者/ Jitta (363回)-(2007/06/26(Tue) 14:53:19)
そのまま引けばええやん
datetime.subtract
引用返信 編集キー/
■4824 / inTopicNo.3)  Re[2]: 何日間あるのか日付の考え方について
□投稿者/ Mr.T (66回)-(2007/06/26(Tue) 15:05:08)
Mr.Tです、こんにちは。

まっさきに思いついたのは、DateDiff。
で、その線でMSDN参照したら、やっぱりあったDateDiff
http://msdn2.microsoft.com/ja-jp/library/ms127413(VS.80).aspx

日数以外でも、月数とか、年数でも返せるのが強みなのかしらん?

引用返信 編集キー/
■4825 / inTopicNo.4)  Re[1]: 何日間あるのか日付の考え方について
□投稿者/ IIJIMAS (5回)-(2007/06/26(Tue) 15:20:55)
出遅れたので、

自分で計算したい場合のヒント:
普通の年の各月の日数:{31,28,31,30,31,30,31,31,30,31,30,31}
うるう年の各月の日数:{31,29,31,30,31,30,31,31,30,31,30,31}
31日ない月をニシムクサムライ(2,4,6,9,11)とおぼえます。

#「そんなのは知ってる」と言われそうですが…
引用返信 編集キー/
■4826 / inTopicNo.5)  Re[1]: 何日間あるのか日付の考え方について
□投稿者/ επιστημη (547回)-(2007/06/26(Tue) 15:21:06)
επιστημη さんの Web サイト
> この質問は考え方の問題なので言語は問わないと思います。
> ...
> 月がまたがった場合上記の計算ではダメでどうもわかりません。

2月最終日や年をまたぐことがあるので、正確には"年"を考慮せなあきません。
特定の日付、たとえば西暦1990年1月1日を"絶対日"第一日として、
二つの日付を絶対日に変換し、その差をとることになりゃせんかと。

引用返信 編集キー/
■4827 / inTopicNo.6)  Re[1]: 何日間あるのか日付の考え方について
□投稿者/ よねKEN (50回)-(2007/06/26(Tue) 15:30:14)
よねKEN さんの Web サイト
(1) .NET Framework、または、VBとの方法。
(2) 一般的な年月に関する扱いの考え方。
が既にでてますので、あまりコメントすることもないのですが、
単純な日数の計算でよいのでしょうか?

別所であった質問では、休日を考慮する必要があるというものがありました。
そういう場合には以下も参考になるかもしれません。
http://www.atmarkit.co.jp/bbs/phpBB/viewtopic.php?topic=39176&forum=7

引用返信 編集キー/
■4829 / inTopicNo.7)  Re[1]: 何日間あるのか日付の考え方について
□投稿者/ 魔界の仮面弁士 (313回)-(2007/06/26(Tue) 15:42:11)
No4822 (長谷川 さん) に返信
> VB.NET2005を使用していますが、この質問は考え方の問題なので言語は問わないと思います。
VB2005、ですね。

> 5/15〜6/10とか
単純な経過日数を基準とするなら、
Dim beginDate As Date = #5/15/2007#
Dim endDate As Date = #6/10/2007#
'27日間
 Dim dateCount As Integer = (endDate - beginDate).TotalDays + 1
ですよね。月をまたいだとしても関係ないかと思いますよ。


それとも、月をまたいだ場合に「1年2ヶ月と3日」のような表記にしたいということでしょうか?
その場合は、どのように計算させたいのか、もう仕様を明らかにする必要があるかと。
引用返信 編集キー/
■4830 / inTopicNo.8)  Re[2]: 何日間あるのか日付の考え方について
□投稿者/ 長谷川 (5回)-(2007/06/26(Tue) 16:26:48)
みなさんご回答ありがとうございます。
単純な経過日数なのでみなさんのご教授頂いたどのやり方でもできました。
ありがとうございます。
解決済み
引用返信 編集キー/


トピック内ページ移動 / << 0 >>

このトピックに書きこむ

過去ログには書き込み不可

管理者用

- Child Tree -