Mega Code Archive

 
Categories / C# / Date Time
 

Gets the end of quarter

using System; using System.Collections.Generic; using System.Linq; using System.Text; namespace Cmoss.Util {     public class DateFunctions     {         /// <summary>         /// Gets the end of quarter.         /// </summary>         /// <param name="date">The date.</param>         /// <returns></returns>         public static DateTime GetEndOfQuarter(DateTime date)         {             int daysInYear = GetDaysInYear(date);             double quarter = ((double)date.DayOfYear) / ((double)daysInYear);             if (quarter < 0.25)             {                 return new DateTime(new DateTime(date.Year, 4, 1).Ticks - 1);             }             else if (quarter < 0.5)             {                 return new DateTime(new DateTime(date.Year, 7, 1).Ticks - 1);             }             else if (quarter < 0.75)             {                 return new DateTime(new DateTime(date.Year, 10, 1).Ticks - 1);             }             else             {                 return new DateTime(new DateTime(date.Year + 1, 1, 1).Ticks - 1);             }         }         /// <summary>         /// Gets the days in year.         /// </summary>         /// <param name="date">The date.</param>         /// <returns></returns>         public static int GetDaysInYear(DateTime date)         {             if (date.Equals(DateTime.MinValue))             {                 return -1;             }             DateTime thisYear = new DateTime(date.Year, 1, 1);             DateTime nextYear = new DateTime(date.Year + 1, 1, 1);             return (nextYear - thisYear).Days;         }     } }