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

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

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

Re[4]: 日付の取得


(過去ログ 34 を表示中)

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

■17059 / inTopicNo.1)  日付の取得
  
□投稿者/ NAN (1回)-(2008/04/16(Wed) 11:14:19)

分類:[.NET 全般] 

こんにちは。
今、VB.NETを用いて開発を行っています。
今回質問したいのは、画面を表示した際に下記のようにシステム月の初日からシステム日付の2週間後まで
表示をするようにしています。

      Me.DAT_S.Text = Now.ToString("yyyy/MM") & "/01"
Me.DAT_E.Text = Now.AddDays(14).ToString("yyyy/MM/dd")

しかし、日付範囲をシステム月の初日から末日まで表示することになりました。
末日を取得する際に、翌月の1日より、−1すれば取得出来ることはわかりましたが、記述の仕方が
思い浮かびません。
ご指導よろしくお願いします。

Version2003


引用返信 編集キー/
■17060 / inTopicNo.2)  Re[1]: 日付の取得
□投稿者/ やじゅ (308回)-(2008/04/16(Wed) 11:17:25)
No17059 (NAN さん) に返信
> 末日を取得する際に、翌月の1日より、−1すれば取得出来ることはわかりましたが、記述の仕方が
> 思い浮かびません。

AddMonth(1)してから、AddDay(-1)でOKでしょ
http://homepage1.nifty.com/rucio/main/dotnet/Samples/dnSampleDateAdd.htm
引用返信 編集キー/
■17063 / inTopicNo.3)  Re[2]: 日付の取得
□投稿者/ NAN (2回)-(2008/04/16(Wed) 11:30:21)
No17060 (やじゅ さん) に返信
早速の返信ありがとうございます。
Me.DAT_E.Text = Now.AddMonths(1).AddDays(-1).ToString("yyyy/MM/dd")
というように変更をしてみたのですが、2008/05/15が取れてきてしまいます。

上記ロジックに & "/01" を追加してみましたが、それでは01が固定で取得してきます。

私の認識に誤りがあれば、ご指摘よろしくお願いします。




引用返信 編集キー/
■17065 / inTopicNo.4)  Re[3]: 日付の取得
□投稿者/ ぽぴ王子 (349回)-(2008/04/16(Wed) 11:38:05)
ぽぴ王子 さんの Web サイト
No17063 (NAN さん) に返信

> 末日を取得する際に、翌月の1日より、−1すれば取得出来ることはわかりましたが、記述の仕方が
> 思い浮かびません。

この時点で「翌日の1日から-1すれば末日を取得できる」の意味をちゃんと理解していれば

> Me.DAT_E.Text = Now.AddMonths(1).AddDays(-1).ToString("yyyy/MM/dd")
> というように変更をしてみたのですが、2008/05/15が取れてきてしまいます。

こういう結果にはならないかもしれませんね。

なぜ「翌日の1日から-1すれば末日を取得できる」のかを考えてみましょう。

今日は 2008/04/16 です。
翌日の1日、つまり 2008/05/01 を求めます。
2008/05/01 の前日は 2008/04/31 で、今月の末日が取得できました。

コードで書くとこんな感じかな。

Dim d As DateTime = New DateTime(Now.Year, Now.Month, 1)
d = d.AddMonth(1).AddDays(-1)

でもこれをそのままコピペしても意味がないので、なぜそうなるのかをちゃんと
考えてから使うようにしてください。
引用返信 編集キー/
■17071 / inTopicNo.5)  Re[4]: 日付の取得
□投稿者/ NAN (3回)-(2008/04/16(Wed) 11:59:38)
No17065 (ぽぴ王子 さん) に返信
解決できました。
しっかりと意味を理解していく事が大切ですね。
ほんとにありがとうございました。

解決済み
引用返信 編集キー/


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

このトピックに書きこむ

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

管理者用

- Child Tree -