Esempio n. 1
0
        public static bool IsSameHalfyear(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.GetHalfyearOfMonth(yearStartMonth, (YearMonth)left.Month) == TimeTool.GetHalfyearOfMonth(yearStartMonth, (YearMonth)right.Month));
        }
Esempio n. 2
0
        public static DateTime Halfyear(YearMonth yearStartMonth)
        {
            DateTime now  = ClockProxy.Clock.Now;
            int      year = now.Year;

            if (now.Month - (int)yearStartMonth < 0)
            {
                year--;
            }
            YearHalfyear halfyear = TimeTool.GetHalfyearOfMonth(yearStartMonth, (YearMonth)now.Month);
            int          months   = ((int)halfyear - 1) * TimeSpec.MonthsPerHalfyear;

            return(new DateTime(year, (int)yearStartMonth, 1).AddMonths(months));
        }
Esempio n. 3
0
 public Halfyear(DateTime moment, ITimeCalendar calendar)
     : this(TimeTool.GetYearOf(calendar.YearBaseMonth, calendar.GetYear(moment), calendar.GetMonth(moment)),
            TimeTool.GetHalfyearOfMonth(calendar.YearBaseMonth, (YearMonth)calendar.GetMonth(moment)), calendar)
 {
 }