Exemplo n.º 1
0
        public static bool IsSameQuarter(YearMonth yearStartMonth, DateTime left, DateTime right)
        {
            int leftYear  = TimeTool.GetYearOf(yearStartMonth, left);
            int rightYear = TimeTool.GetYearOf(yearStartMonth, right);

            if (leftYear != rightYear)
            {
                return(false);
            }

            return(TimeTool.GetQuarterOfMonth(yearStartMonth, (YearMonth)left.Month) == TimeTool.GetQuarterOfMonth(yearStartMonth, (YearMonth)right.Month));
        }
Exemplo n.º 2
0
        public static DateTime Quarter(YearMonth yearStartMonth)
        {
            DateTime now  = ClockProxy.Clock.Now;
            int      year = now.Year;

            if (now.Month - (int)yearStartMonth < 0)
            {
                year--;
            }
            YearQuarter quarter = TimeTool.GetQuarterOfMonth(yearStartMonth, (YearMonth)now.Month);
            int         months  = ((int)quarter - 1) * TimeSpec.MonthsPerQuarter;

            return(new DateTime(year, (int)yearStartMonth, 1).AddMonths(months));
        }
Exemplo n.º 3
0
        private int CalcQuarters()
        {
            if (TimeCompare.IsSameMonth(Date1, Date2))
            {
                return(0);
            }

            int         year1    = TimeTool.GetYearOf(YearBaseMonth, Year1, Month1);
            YearQuarter quarter1 = TimeTool.GetQuarterOfMonth(YearBaseMonth, (YearMonth)Month1);

            int         year2    = TimeTool.GetYearOf(YearBaseMonth, Year2, Month2);
            YearQuarter quarter2 = TimeTool.GetQuarterOfMonth(YearBaseMonth, (YearMonth)Month2);

            return
                (((year2 * TimeSpec.QuartersPerYear) + quarter2) -
                 ((year1 * TimeSpec.QuartersPerYear) + quarter1));
        }
Exemplo n.º 4
0
 public Quarter(DateTime moment, ITimeCalendar calendar)
     : this(TimeTool.GetYearOf(calendar.YearBaseMonth, calendar.GetYear(moment), calendar.GetMonth(moment)),
            TimeTool.GetQuarterOfMonth(calendar.YearBaseMonth, (YearMonth)moment.Month), calendar)
 {
 }