C# 获取时间所在季度的第一天和最后一天
2017-09-12 Shane Jhu

分享之前写的获取某时间所在季度的第一天和最后一天的方法(C#),没什么技术含量,其实主要看思维,如果你能和人说明白怎么算,把人话变成代码也就不难了。
先算出当前时间所在季度的第一月和最后一月,然后再取第一天或最后一天。
代码如下:
/// <summary>
/// 获取该时间所在季度的第一天
/// </summary>
/// <param name="target"></param>
/// <returns></returns>
public static DateTime ToFirstDayOfSeason(DateTime target)
{
int ThisMonth = DateTime.Now.Month;
int FirstMonthOfSeason = ThisMonth - (ThisMonth % 3 == 0 ? 3 : (ThisMonth % 3)) + 1;
target = target.AddMonths(FirstMonthOfSeason - ThisMonth);
return Convert.ToDateTime(target.ToString("yyyy-MM-01 HH:mm:ss"));
}
/// <summary>
/// 获取该时间所在季度的最后一天
/// </summary>
/// <param name="target"></param>
/// <returns></returns>
public static DateTime ToLastDayOfSeason(DateTime target)
{
int ThisMonth = DateTime.Now.Month;
int FirstMonthOfSeason = ThisMonth - (ThisMonth % 3 == 0 ? 3 : (ThisMonth % 3)) + 3;
target = target.AddMonths(FirstMonthOfSeason - ThisMonth);
return Convert.ToDateTime(target.AddMonths(1).ToString("yyyy-MM-01 HH:mm:ss")).AddDays(-1);
}注:代码中表示季度应该用英文:Quarter,不是 Season。
本文由lenashane.com原创,转载请注明出处:查看原文
如果觉得文章还不错,请点个赞吧

