2010-09-15 98 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