dotNet中,取得指定日期所在月份的最后一天

本文介绍了一种简便的方法来获取dotNet中指定日期所在月份的最后一天,并提供了具体的实现代码及测试案例。

问题:

  dotNet中,如何方便快速的取得指定日期所在月份的最后一天?

思路:

  从指定日期所在月份下个月的1号的前一天,就是所求的内容。

实现:

int GetLastDayOfMonth(DateTime dt)
{
DateTime dtNew = new DateTime(dt.Year, dt.Month, 1);
int iLastDay = dtNew.AddMonths(1).AddDays(-1).Day;
return iLastDay;
}

测试:

 1 private void button1_Click(object sender, EventArgs e)
2 {
3 List<DateTime> lstDt = new List<DateTime>();
4 lstDt.Add(new DateTime(2000, 1, 1));
5 lstDt.Add(new DateTime(2012, 2, 29));
6 lstDt.Add(new DateTime(2011, 2, 2));
7 lstDt.Add(new DateTime(2013, 2, 2));
8 lstDt.Add(new DateTime(2013, 3, 31));
9 lstDt.Add(new DateTime(2013, 4, 5));
10 lstDt.Add(new DateTime(2013, 5, 7));
11 lstDt.Add(new DateTime(2013, 6, 7));
12 lstDt.Add(new DateTime(2013, 7, 7));
13 lstDt.Add(new DateTime(2013, 8, 7));
14 lstDt.Add(new DateTime(2013, 9, 7));
15 lstDt.Add(new DateTime(2013, 10, 7));
16 lstDt.Add(new DateTime(2013, 11, 7));
17 lstDt.Add(new DateTime(2011, 12, 23));
18 foreach (DateTime dt in lstDt)
19 {
20 Console.WriteLine(dt.ToString() + "==>" + GetLastDayOfMonth(dt));
21 }
22 }

结果:

2000/1/1 0:00:00==>31
2012/2/29 0:00:00==>29
2011/2/2 0:00:00==>28
2013/2/2 0:00:00==>28
2013/3/31 0:00:00==>31
2013/4/5 0:00:00==>30
2013/5/7 0:00:00==>31
2013/6/7 0:00:00==>30
2013/7/7 0:00:00==>31
2013/8/7 0:00:00==>31
2013/9/7 0:00:00==>30
2013/10/7 0:00:00==>31
2013/11/7 0:00:00==>30
2011/12/23 0:00:00==>31

 




转载于:https://www.cnblogs.com/xu-wei/archive/2011/12/28/getTheLastDayofDatetime.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值