2010-09-15 101 views
3

我有一個像27-12-2010(日 - 月 - 年)的日期,我需要返回以下值。得到最後一個月的最後一天

31-12-2010(最後那個月的一天)

30-12-2010(該月的最後一天)

+2

如果接受的答案,人們會更容易幫助。 – treeface 2010-09-15 18:54:38

+0

如何從半需要「我需要價值」,到「如何做到這一點?」 - 甚至是一些代碼,它向你展示了當前的方法以及你的問題是什麼? – miku 2010-09-15 19:05:46

回答

7

如果你想指定的該月的最後一天,使用這樣的:

Dim original As DateTime = DateTime.Now ' The date you want to get the last day of the month for 
Dim lastOfMonth As DateTime = original.Date.AddDays(-(original.Day - 1)).AddMonths(1).AddDays(-1) 

有點長篇大論,但它保證你不會莫名其妙地結束了第一下一個月的或倒數第二的月份。

+0

這也考慮到閏年,它會顯示每個月的最後一天。 +1 – 2015-04-28 08:16:39

+1

是的。它所做的就是獲得當前月份的第一天,添加一個月(總是給我們下個月的第一天)並減去一天。 – 2015-04-28 08:23:52

1

獲取當前月份的開始日和最後一天:

Dim thisMonth As New DateTime(DateTime.Today.Year, DateTime.Today.Month, 1) 

'beginning day of the month 
thisMonth.ToString("yyyy-MM-01") 

'last day of the month 
thisMonth.AddMonths(1).AddDays(-1).ToString("yyyy-MM-dd") 
+0

我不認爲這是一個好方法(即使它可能有效),因爲你總是要避免轉換,特別是字符串。它表現不佳。 – Sascha 2014-02-21 08:40:04