lena和shane,家庭日志,xulavigne,Lena&Shane

如何实现

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原创,转载请注明出处:查看原文

如果觉得文章还不错,请点个赞吧

8月 30 2020
太过信任,你或许会受骗,然而终日怀疑,你会饱受痛苦。

弗兰克•克莱恩 (Frank Crane 美国演员,导演)