C# 获取本季季末, 本季最后一天
using System;
namespace ConsoleApp2
{
class Program
{
static void Main(string[] args)
{
Console.WriteLine("本季最后一天:{0}", GetQuarterLastDate(DateTime.Now));
Console.Read();
}
/// <summary>
/// 获取本季季初, 本季度第一天
/// </summary>
/// <param name="dateTime">当前时间 DateTime.Now or DateTime.UtcNow</param>
/// <returns>后面的具体时、分、秒和传入值相等</returns>
public static DateTime GetQuarterFirstDate(DateTime dateTime)
{
// 本季季初
return dateTime.AddMonths(0 - ((dateTime.Month - 1) % 3)).AddDays(1 - dateTime.Day);
}
/// <summary>
/// 获取本季度季末, 本季最后一天
/// </summary>
/// <param name="dateTime">当前时间 DateTime.Now or DateTime.UtcNow</param>
/// <returns>后面的具体时、分、秒和传入值相等</returns>
public static DateTime GetQuarterLastDate(DateTime dateTime)
{
// 本季季末
return GetQuarterFirstDate(dateTime).AddMonths(3).AddDays(-1);
}
}
}