Week,Month, Year 日期区间辅助类

我们在做一些业务系统的时候,经常会用到一些获取时间段的情况。比如要统计某一周、某月、某年 这样一些时间区间内的一些业务数据。这时候我们就需要获取当前时间段内的一些起止日期。这里分享一个通用的日期辅助类,可以根据传入的日期快速的获取它所在Week、Month、Year的起止日期。

   

public static class DateHelper

{

public static DateTime WeekFirstDay(this DateTime dt)

{

dt = DateTime.Parse(dt.ToString("yyyy-MM-dd"));

if (dt.DayOfWeek == DayOfWeek.Sunday)

{

return dt.AddDays(-6);

}

return dt.AddDays(1 - (int)dt.DayOfWeek);

}

   

public static DateTime WeekEndDay(this DateTime dt)

{

dt = DateTime.Parse(dt.ToString("yyyy-MM-dd"));

if (dt.DayOfWeek == DayOfWeek.Sunday)

{

return dt;

}

return dt.AddDays(7 - (int)dt.DayOfWeek);

}

   

public static DateTime MonthFirstDay(this DateTime dt)

{

dt = DateTime.Parse(dt.ToString("yyyy-MM-dd"));

return dt.AddDays(1 - dt.Day);

}

   

public static DateTime MonthEndDay(this DateTime dt)

{

dt = DateTime.Parse(dt.ToString("yyyy-MM-dd"));

return dt.AddDays(1 - dt.Day).AddMonths(1).AddDays(-1);

}

   

public static DateTime YearFirstDay(this DateTime dt)

{

return new DateTime(dt.Year, 1, 1);

}

   

public static DateTime YearEndDay(this DateTime dt)

{

return new DateTime(dt.Year, 12, 31);

}

}

转载于:https://www.cnblogs.com/rpoplar/p/5494820.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值