/// <summary> /// /// </summary> /// <param name="vc"></param> /// <returns>returns 1 if given date has bias</returns> public int GetBiasMinutesForDay(GregorianDateTime vc) { int biasExists = BiasMinutes; int biasZero = 0; if (vc.month == StartDst.Month) { if (StartDst.Type == 0) { return(vc.IsEqualOrAfterWeekdayInWeek(StartDst.Week, StartDst.Day) ? biasExists : biasZero); } else { return((vc.day >= StartDst.Day) ? biasExists : biasZero); } } else if (vc.month == EndDst.Month) { if (EndDst.Type == 0) { return(vc.IsEqualOrAfterWeekdayInWeek(EndDst.Week, EndDst.Day) ? biasZero : biasExists); } else { return((vc.day >= EndDst.Day) ? biasZero : biasExists); } } else if (StartDst.Month > EndDst.Month) { // zaciatocny mesiac ma vyssie cislo nez koncovy // napr. pre australiu if ((vc.month > StartDst.Month) || (vc.month < EndDst.Month)) { return(biasExists); } } else { // zaciatocny mesiac ma nizsie cislo nez koncovy // usa, europa, asia if ((vc.month > StartDst.Month) && (vc.month < EndDst.Month)) { return(biasExists); } } return(biasZero); }