|
■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)
でもこれをそのままコピペしても意味がないので、なぜそうなるのかをちゃんと 考えてから使うようにしてください。
|