bool Ukraine::UseImpl::isBusinessDay(const Date& date) const { Weekday w = date.weekday(); Day d = date.dayOfMonth(), dd = date.dayOfYear(); Month m = date.month(); Year y = date.year(); Day em = easterMonday(y); if (isWeekend(w) // New Year's Day (possibly moved to Monday) || ((d == 1 || ((d == 2 || d == 3) && w == Monday)) && m == January) // Orthodox Christmas || ((d == 7 || ((d == 8 || d == 9) && w == Monday)) && m == January) // Women's Day || ((d == 8 || ((d == 9 || d == 10) && w == Monday)) && m == March) // Orthodox Easter Monday || (dd == em) // Holy Trinity Day || (dd == em+49) // Workers' Solidarity Days || ((d == 1 || d == 2 || (d == 3 && w == Monday)) && m == May) // Victory Day || ((d == 9 || ((d == 10 || d == 11) && w == Monday)) && m == May) // Constitution Day || (d == 28 && m == June) // Independence Day || (d == 24 && m == August) // Defender's Day (since 2015) || (d == 14 && m == October && y >= 2015)) return false; return true; }
bool SaudiArabia::TadawulImpl::isBusinessDay(const Date& date) const { Weekday w = date.weekday(); Day d = date.dayOfMonth(); Month m = date.month(); Year y = date.year(); if (isWeekend(w) // National Day || (d == 23 && m == September) // Eid Al-Adha || (d >= 1 && d <= 6 && m == February && y==2004) || (d >= 21 && d <= 25 && m == January && y==2005) || (d >= 26 && m == November && y==2009) || (d <= 4 && m == December && y==2009) || (d >= 11 && d <= 19 && m == November && y==2010) // Eid Al-Fitr || (d >= 25 && d <= 29 && m == November && y==2004) || (d >= 14 && d <= 18 && m == November && y==2005) || (d >= 25 && m == August && y==2011) || (d <= 2 && m == September && y==2011) // other one-shot holidays || (d == 26 && m == February && y==2011) || (d == 19 && m == March && y==2011) ) return false; return true; }
bool UnitedStates::SettlementImpl::isBusinessDay(const Date& date) const { Weekday w = date.weekday(); Day d = date.dayOfMonth(); Month m = date.month(); if (isWeekend(w) // New Year's Day (possibly moved to Monday if on Sunday) || ((d == 1 || (d == 2 && w == Monday)) && m == January) // (or to Friday if on Saturday) || (d == 31 && w == Friday && m == December) // Martin Luther King's birthday (third Monday in January) || ((d >= 15 && d <= 21) && w == Monday && m == January) // Washington's birthday (third Monday in February) || ((d >= 15 && d <= 21) && w == Monday && m == February) // Memorial Day (last Monday in May) || (d >= 25 && w == Monday && m == May) // Independence Day (Monday if Sunday or Friday if Saturday) || ((d == 4 || (d == 5 && w == Monday) || (d == 3 && w == Friday)) && m == July) // Labor Day (first Monday in September) || (d <= 7 && w == Monday && m == September) // Columbus Day (second Monday in October) || ((d >= 8 && d <= 14) && w == Monday && m == October) // Veteran's Day (Monday if Sunday or Friday if Saturday) || ((d == 11 || (d == 12 && w == Monday) || (d == 10 && w == Friday)) && m == November) // Thanksgiving Day (fourth Thursday in November) || ((d >= 22 && d <= 28) && w == Thursday && m == November) // Christmas (Monday if Sunday or Friday if Saturday) || ((d == 25 || (d == 26 && w == Monday) || (d == 24 && w == Friday)) && m == December)) return false; return true; }
bool Norway::Impl::isBusinessDay(const Date& date) const { Weekday w = date.weekday(); Day d = date.dayOfMonth(), dd = date.dayOfYear(); Month m = date.month(); Year y = date.year(); Day em = easterMonday(y); if (isWeekend(w) // Holy Thursday || (dd == em-4) // Good Friday || (dd == em-3) // Easter Monday || (dd == em) // Ascension Thursday || (dd == em+38) // Whit Monday || (dd == em+49) // New Year's Day || (d == 1 && m == January) // May Day || (d == 1 && m == May) // National Independence Day || (d == 17 && m == May) // Christmas || (d == 25 && m == December) // Boxing Day || (d == 26 && m == December)) return false; return true; }
bool Brazil::SettlementImpl::isBusinessDay(const Date& date) const { Weekday w = date.weekday(); Day d = date.dayOfMonth(); Month m = date.month(); Year y = date.year(); Day dd = date.dayOfYear(); Day em = easterMonday(y); if (isWeekend(w) // New Year's Day || (d == 1 && m == January) // Tiradentes Day || (d == 21 && m == April) // Labor Day || (d == 1 && m == May) // Independence Day || (d == 7 && m == September) // Nossa Sra. Aparecida Day || (d == 12 && m == October) // All Souls Day || (d == 2 && m == November) // Republic Day || (d == 15 && m == November) // Christmas || (d == 25 && m == December) // Passion of Christ || (dd == em-3) // Carnival || (dd == em-49 || dd == em-48) // Corpus Christi || (dd == em+59) ) return false; return true; }
bool Romania::Impl::isBusinessDay(const Date& date) const { Weekday w = date.weekday(); Day d = date.dayOfMonth(), dd = date.dayOfYear(); Month m = date.month(); Year y = date.year(); Day em = easterMonday(y); if (isWeekend(w) // New Year's Day || (d == 1 && m == January) // Day after New Year's Day || (d == 2 && m == January) // Unification Day || (d == 24 && m == January) // Orthodox Easter Monday || (dd == em) // Labour Day || (d == 1 && m == May) // Pentecost || (dd == em+49) // St Marys Day || (d == 15 && m == August) // Feast of St Andrew || (d == 30 && m == November) // National Day || (d == 1 && m == December) // Christmas || (d == 25 && m == December) // 2nd Day of Chritsmas || (d == 26 && m == December)) return false; return true; }
bool Italy::ExchangeImpl::isBusinessDay(const Date& date) const { Weekday w = date.weekday(); Day d = date.dayOfMonth(), dd = date.dayOfYear(); Month m = date.month(); Year y = date.year(); Day em = easterMonday(y); if (isWeekend(w) // New Year's Day || (d == 1 && m == January) // Good Friday || (dd == em-3) // Easter Monday || (dd == em) // Labour Day || (d == 1 && m == May) // Assumption || (d == 15 && m == August) // Christmas' Eve || (d == 24 && m == December) // Christmas || (d == 25 && m == December) // St. Stephen || (d == 26 && m == December) // New Year's Eve || (d == 31 && m == December)) return false; return true; }
bool Italy::SettlementImpl::isBusinessDay(const Date& date) const { Weekday w = date.weekday(); Day d = date.dayOfMonth(), dd = date.dayOfYear(); Month m = date.month(); Year y = date.year(); Day em = easterMonday(y); if (isWeekend(w) // New Year's Day || (d == 1 && m == January) // Epiphany || (d == 6 && m == January) // Easter Monday || (dd == em) // Liberation Day || (d == 25 && m == April) // Labour Day || (d == 1 && m == May) // Republic Day || (d == 2 && m == June && y >= 2000) // Assumption || (d == 15 && m == August) // All Saints' Day || (d == 1 && m == November) // Immaculate Conception || (d == 8 && m == December) // Christmas || (d == 25 && m == December) // St. Stephen || (d == 26 && m == December) // December 31st, 1999 only || (d == 31 && m == December && y == 1999)) return false; return true; }
bool Russia::SettlementImpl::isBusinessDay(const Date& date) const { Weekday w = date.weekday(); Day d = date.dayOfMonth(); Month m = date.month(); if (isWeekend(w) // New Year's holidays || (d >= 1 && d <= 8 && m == January) // Defender of the Fatherland Day (possibly moved to Monday) || ((d == 23 || ((d == 24 || d == 25) && w == Monday)) && m == February) // International Women's Day (possibly moved to Monday) || ((d == 8 || ((d == 9 || d == 10) && w == Monday)) && m == March) // Labour Day (possibly moved to Monday) || ((d == 1 || ((d == 2 || d == 3) && w == Monday)) && m == May) // Victory Day (possibly moved to Monday) || ((d == 9 || ((d == 10 || d == 11) && w == Monday)) && m == May) // Russia Day (possibly moved to Monday) || ((d == 12 || ((d == 13 || d == 14) && w == Monday)) && m == June) // Unity Day (possibly moved to Monday) || ((d == 4 || ((d == 5 || d == 6) && w == Monday)) && m == November)) return false; return true; }
void CallsManager::addCall(Abonent* _abonent, std::string number) { assert(_abonent); assert(number.length()); printf("\n-------------------------------START_CALLING------------------------\n"); printf("Abonent %s is start calling", _abonent->getData()->getName().c_str()); activeCall = new ActiveCall(_abonent , number); activeCall->startCall(); activeCall->setIsHomeNetwork(isHomeNetwork()); activeCall->setIsWeekEnd(isWeekend()); }
bool Brazil::ExchangeImpl::isBusinessDay(const Date& date) const { Weekday w = date.weekday(); Day d = date.dayOfMonth(); Month m = date.month(); Year y = date.year(); Day dd = date.dayOfYear(); Day em = easterMonday(y); if (isWeekend(w) // New Year's Day || (d == 1 && m == January) // Sao Paulo City Day || (d == 25 && m == January) // Tiradentes Day || (d == 21 && m == April) // Labor Day || (d == 1 && m == May) // Revolution Day || (d == 9 && m == July) // Independence Day || (d == 7 && m == September) // Nossa Sra. Aparecida Day || (d == 12 && m == October) // All Souls Day || (d == 2 && m == November) // Republic Day || (d == 15 && m == November) // Black Consciousness Day || (d == 20 && m == November && y >= 2007) // Christmas || (d == 25 && m == December) // Passion of Christ || (dd == em-3) // Carnival || (dd == em-49 || dd == em-48) // Corpus Christi || (dd == em+59) // last business day of the year || (m == December && (d == 31 || (d >= 29 && w == Friday))) ) return false; return true; }
bool UnitedStates::NercImpl::isBusinessDay(const Date& date) const { Weekday w = date.weekday(); Day d = date.dayOfMonth(); Month m = date.month(); if (isWeekend(w) // New Year's Day (possibly moved to Monday if on Sunday) || ((d == 1 || (d == 2 && w == Monday)) && m == January) // Memorial Day (last Monday in May) || (d >= 25 && w == Monday && m == May) // Independence Day (Monday if Sunday) || ((d == 4 || (d == 5 && w == Monday)) && m == July) // Labor Day (first Monday in September) || (d <= 7 && w == Monday && m == September) // Thanksgiving Day (fourth Thursday in November) || ((d >= 22 && d <= 28) && w == Thursday && m == November) // Christmas (Monday if Sunday) || ((d == 25 || (d == 26 && w == Monday)) && m == December)) return false; return true; }
bool UnitedKingdom::ExchangeImpl::isBusinessDay(const Date& date) const { Weekday w = date.weekday(); Day d = date.dayOfMonth(), dd = date.dayOfYear(); Month m = date.month(); Year y = date.year(); Day em = easterMonday(y); if (isWeekend(w) // New Year's Day (possibly moved to Monday) || ((d == 1 || ((d == 2 || d == 3) && w == Monday)) && m == January) // Good Friday || (dd == em-3) // Easter Monday || (dd == em) // first Monday of May (Early May Bank Holiday) || (d <= 7 && w == Monday && m == May) // last Monday of May (Spring Bank Holiday) || (d >= 25 && w == Monday && m == May && y != 2002 && y != 2012) // last Monday of August (Summer Bank Holiday) || (d >= 25 && w == Monday && m == August) // Christmas (possibly moved to Monday or Tuesday) || ((d == 25 || (d == 27 && (w == Monday || w == Tuesday))) && m == December) // Boxing Day (possibly moved to Monday or Tuesday) || ((d == 26 || (d == 28 && (w == Monday || w == Tuesday))) && m == December) // June 3rd, 2002 only (Golden Jubilee Bank Holiday) // June 4rd, 2002 only (special Spring Bank Holiday) || ((d == 3 || d == 4) && m == June && y == 2002) // April 29th, 2011 only (Royal Wedding Bank Holiday) || (d == 29 && m == April && y == 2011) // June 4th, 2012 only (Diamond Jubilee Bank Holiday) // June 5th, 2012 only (Special Spring Bank Holiday) || ((d == 4 || d == 5) && m == June && y == 2012) // December 31st, 1999 only || (d == 31 && m == December && y == 1999)) return false; return true; }
bool CzechRepublic::PseImpl::isBusinessDay(const Date& date) const { Weekday w = date.weekday(); Day d = date.dayOfMonth(), dd = date.dayOfYear(); Month m = date.month(); Year y = date.year(); Day em = easterMonday(y); if (isWeekend(w) // New Year's Day || (d == 1 && m == January) // Easter Monday || (dd == em) // Labour Day || (d == 1 && m == May) // Liberation Day || (d == 8 && m == May) // SS. Cyril and Methodius || (d == 5 && m == July) // Jan Hus Day || (d == 6 && m == July) // Czech Statehood Day || (d == 28 && m == September) // Independence Day || (d == 28 && m == October) // Struggle for Freedom and Democracy Day || (d == 17 && m == November) // Christmas Eve || (d == 24 && m == December) // Christmas || (d == 25 && m == December) // St. Stephen || (d == 26 && m == December) // unidentified closing days for stock exchange || (d == 2 && m == January && y == 2004) || (d == 31 && m == December && y == 2004)) return false; return true; }
bool NewZealand::Impl::isBusinessDay(const Date& date) const { Weekday w = date.weekday(); Day d = date.dayOfMonth(), dd = date.dayOfYear(); Month m = date.month(); Year y = date.year(); Day em = easterMonday(y); if (isWeekend(w) // New Year's Day (possibly moved to Monday or Tuesday) || ((d == 1 || (d == 3 && (w == Monday || w == Tuesday))) && m == January) // Day after New Year's Day (possibly moved to Mon or Tuesday) || ((d == 2 || (d == 4 && (w == Monday || w == Tuesday))) && m == January) // Anniversary Day, Monday nearest January 22nd || ((d >= 19 && d <= 25) && w == Monday && m == January) // Waitangi Day. February 6th || (d == 6 && m == February) // Good Friday || (dd == em-3) // Easter Monday || (dd == em) // ANZAC Day. April 25th || (d == 25 && m == April) // Queen's Birthday, first Monday in June || (d <= 7 && w == Monday && m == June) // Labour Day, fourth Monday in October || ((d >= 22 && d <= 28) && w == Monday && m == October) // Christmas, December 25th (possibly Monday or Tuesday) || ((d == 25 || (d == 27 && (w == Monday || w == Tuesday))) && m == December) // Boxing Day, December 26th (possibly Monday or Tuesday) || ((d == 26 || (d == 28 && (w == Monday || w == Tuesday))) && m == December)) return false; return true; }
bool Singapore::SgxImpl::isBusinessDay(const Date& date) const { Weekday w = date.weekday(); Day d = date.dayOfMonth(), dd = date.dayOfYear(); Month m = date.month(); Year y = date.year(); Day em = easterMonday(y); if (isWeekend(w) // New Year's Day || ((d == 1 || (d == 2 && w == Monday)) && m == January) // Good Friday || (dd == em-3) // Labor Day || (d == 1 && m == May) // National Day || ((d == 9 || (d == 10 && w == Monday)) && m == August) // Christmas Day || (d == 25 && m == December) // Chinese New Year || ((d == 22 || d == 23) && m == January && y == 2004) || ((d == 9 || d == 10) && m == February && y == 2005) || ((d == 30 || d == 31) && m == January && y == 2006) || ((d == 19 || d == 20) && m == February && y == 2007) || ((d == 7 || d == 8) && m == February && y == 2008) || ((d == 26 || d == 27) && m == January && y == 2009) || ((d == 15 || d == 16) && m == January && y == 2010) || ((d == 23 || d == 24) && m == January && y == 2012) || ((d == 11 || d == 12) && m == February && y == 2013) || (d == 31 && m == January && y == 2014) || (d == 1 && m == February && y == 2014) // Hari Raya Haji || ((d == 1 || d == 2) && m == February && y == 2004) || (d == 21 && m == January && y == 2005) || (d == 10 && m == January && y == 2006) || (d == 2 && m == January && y == 2007) || (d == 20 && m == December && y == 2007) || (d == 8 && m == December && y == 2008) || (d == 27 && m == November && y == 2009) || (d == 17 && m == November && y == 2010) || (d == 26 && m == October && y == 2012) || (d == 15 && m == October && y == 2013) || (d == 6 && m == October && y == 2014) // Vesak Poya Day || (d == 2 && m == June && y == 2004) || (d == 22 && m == May && y == 2005) || (d == 12 && m == May && y == 2006) || (d == 31 && m == May && y == 2007) || (d == 18 && m == May && y == 2008) || (d == 9 && m == May && y == 2009) || (d == 28 && m == May && y == 2010) || (d == 5 && m == May && y == 2012) || (d == 24 && m == May && y == 2013) || (d == 13 && m == May && y == 2014) // Deepavali || (d == 11 && m == November && y == 2004) || (d == 8 && m == November && y == 2007) || (d == 28 && m == October && y == 2008) || (d == 16 && m == November && y == 2009) || (d == 5 && m == November && y == 2010) || (d == 13 && m == November && y == 2012) || (d == 2 && m == November && y == 2013) || (d == 23 && m == October && y == 2014) // Diwali || (d == 1 && m == November && y == 2005) // Hari Raya Puasa || ((d == 14 || d == 15) && m == November && y == 2004) || (d == 3 && m == November && y == 2005) || (d == 24 && m == October && y == 2006) || (d == 13 && m == October && y == 2007) || (d == 1 && m == October && y == 2008) || (d == 21 && m == September && y == 2009) || (d == 10 && m == September && y == 2010) || (d == 20 && m == August && y == 2012) || (d == 8 && m == August && y == 2013) || (d == 28 && m == July && y == 2014) ) return false; return true; }
bool Thailand::SetImpl::isBusinessDay(const Date& date) const { Weekday w = date.weekday(); Day d = date.dayOfMonth(); Month m = date.month(); Year y = date.year(); if (isWeekend(w) // New Year's Day || ((d == 1 || (d==3 && w==Monday)) && m == January) // Chakri Memorial Day || ((d == 6 || ((d==7 || d==8) && w==Monday)) && m == April) // Songkran Festival || ((d == 13 || d == 14 || d == 15) && m == April) // Songkran Festival obersvence (usually not more then 1 holiday will be replaced) || (d == 16 && (w == Monday || w == Tuesday) && m == April) // Labor Day || ((d == 1 || ((d==2 || d==3) && w==Monday)) && m == May) // H.M. the King's Birthday || ((d == 28 || ((d==29 || d==30) && w==Monday)) && m == July && y >= 2017) // H.M. the Queen's Birthday || ((d == 12 || ((d==13 || d==14) && w==Monday)) && m == August) // H.M. King Bhumibol Adulyadej Memorial Day || ((d == 3 || ((d==14 || d==15) && w==Monday)) && m == October && y >= 2017) // H.M. King Bhumibol Adulyadej's Birthday || ((d == 5 || ((d==6 || d==7) && w==Monday)) && m == December) // Constitution Day || ((d == 10 || ((d==11 || d==12) && w==Monday)) && m == December) // New Year’s Eve || (d == 31 && m == December) // New Year’s Eve Observence || ((d == 1 || d==2) && w == Monday && m == January) ) return false; if ((y == 2000) && ( (d==21 && m==February) // Makha Bucha Day (Substitution Day) || (d==5 && m==May) // Coronation Day || (d==17 && m==May) // Wisakha Bucha Day || (d==17 && m==July) // Buddhist Lent Day || (d==23 && m==October) // Chulalongkorn Day )) return false; if ((y == 2001) && ( (d==8 && m==February) // Makha Bucha Day || (d==7 && m==May) // Wisakha Bucha Day || (d==8 && m==May) // Coronation Day (Substitution Day) || (d==6 && m==July) // Buddhist Lent Day || (d==23 && m==October) // Chulalongkorn Day )) return false; // 2002, 2003 and 2004 are missing if ((y == 2005) && ( (d==23 && m==February) // Makha Bucha Day || (d==5 && m==May) // Coronation Day || (d==23 && m==May) // Wisakha Bucha Day (Substitution Day for Sunday 22 May) || (d==1 && m==July) // Mid Year Closing Day || (d==22 && m==July) // Buddhist Lent Day || (d==24 && m==October) // Chulalongkorn Day (Substitution Day for Sunday 23 October) )) return false; if ((y == 2006) && ( (d==13 && m==February) // Makha Bucha Day || (d==19 && m==April) // Special Holiday || (d==5 && m==May) // Coronation Day || (d==12 && m==May) // Wisakha Bucha Day || (d==12 && m==June) // Special Holidays (Due to the auspicious occasion of the // celebration of 60th Anniversary of His Majesty's Accession // to the throne. For Bangkok, Samut Prakan, Nonthaburi, // Pathumthani and Nakhon Pathom province) || (d==13 && m==June) // Special Holidays (as above) || (d==11 && m==July) // Buddhist Lent Day || (d==23 && m==October) // Chulalongkorn Day )) return false; if ((y == 2007) && ( (d==5 && m==March) // Makha Bucha Day (Substitution Day for Saturday 3 March) || (d==7 && m==May) // Coronation Day (Substitution Day for Saturday 5 May) || (d==31 && m==May) // Wisakha Bucha Day || (d==30 && m==July) // Asarnha Bucha Day (Substitution Day for Sunday 29 July) || (d==23 && m==October) // Chulalongkorn Day || (d==24 && m==December) // Special Holiday )) return false; if ((y == 2008) && ( (d==21 && m==February) // Makha Bucha Day || (d==5 && m==May) // Coronation Day || (d==19 && m==May) // Wisakha Bucha Day || (d==1 && m==July) // Mid Year Closing Day || (d==17 && m==July) // Asarnha Bucha Day || (d==23 && m==October) // Chulalongkorn Day )) return false; if ((y == 2009) && ( (d==2 && m==January) // Special Holiday || (d==9 && m==February) // Makha Bucha Day || (d==5 && m==May) // Coronation Day || (d==8 && m==May) // Wisakha Bucha Day || (d==1 && m==July) // Mid Year Closing Day || (d==6 && m==July) // Special Holiday || (d==7 && m==July) // Asarnha Bucha Day || (d==23 && m==October) // Chulalongkorn Day )) return false; if ((y == 2010) && ( (d==1 && m==March) // Substitution for Makha Bucha Day(Sunday 28 February) || (d==5 && m==May) // Coronation Day || (d==20 && m==May) // Special Holiday || (d==21 && m==May) // Special Holiday || (d==28 && m==May) // Wisakha Bucha Day || (d==1 && m==July) // Mid Year Closing Day || (d==26 && m==July) // Asarnha Bucha Day || (d==13 && m==August) // Special Holiday || (d==25 && m==October) // Substitution for Chulalongkorn Day(Saturday 23 October) )) return false; if ((y == 2011) && ( (d==18 && m==February) // Makha Bucha Day || (d==5 && m==May) // Coronation Day || (d==16 && m==May) // Special Holiday || (d==17 && m==May) // Wisakha Bucha Day || (d==1 && m==July) // Mid Year Closing Day || (d==15 && m==July) // Asarnha Bucha Day || (d==24 && m==October) // Substitution for Chulalongkorn Day(Sunday 23 October) )) return false; if ((y == 2012) && ( (d==3 && m==January) // Special Holiday || (d==7 && m==March) // Makha Bucha Day 2/ || (d==9 && m==April) // Special Holiday || (d==7 && m==May) // Substitution for Coronation Day(Saturday 5 May) || (d==4 && m==June) // Wisakha Bucha Day || (d==2 && m==August) // Asarnha Bucha Day || (d==23 && m==October) // Chulalongkorn Day )) return false; if ((y == 2013) && ( (d==25 && m==February) // Makha Bucha Day || (d==6 && m==May) // Substitution for Coronation Day(Sunday 5 May) || (d==24 && m==May) // Wisakha Bucha Day || (d==1 && m==July) // Mid Year Closing Day || (d==22 && m==July) // Asarnha Bucha Day 2/ || (d==23 && m==October) // Chulalongkorn Day || (d==30 && m==December) // Special Holiday )) return false; if ((y == 2014) && ( (d==14 && m==February) // Makha Bucha Day || (d==5 && m==May) // Coronation Day || (d==13 && m==May) // Wisakha Bucha Day || (d==1 && m==July) // Mid Year Closing Day || (d==11 && m==July) // Asarnha Bucha Day 1/ || (d==11 && m==August) // Special Holiday || (d==23 && m==October) // Chulalongkorn Day )) return false; if ((y == 2015) && ( (d==2 && m==January) // Special Holiday || (d==4 && m==March) // Makha Bucha Day || (d==4 && m==May) // Special Holiday || (d==5 && m==May) // Coronation Day || (d==1 && m==June) // Wisakha Bucha Day || (d==1 && m==July) // Mid Year Closing Day || (d==30 && m==July) // Asarnha Bucha Day 1/ || (d==23 && m==October) // Chulalongkorn Day )) return false; if ((y == 2016) && ( (d==22 && m==February) // Makha Bucha Day || (d==5 && m==May) // Coronation Day || (d==6 && m==May) // Special Holiday || (d==20 && m==May) // Wisakha Bucha Day || (d==1 && m==July) // Mid Year Closing Day || (d==18 && m==July) // Special Holiday || (d==19 && m==July) // Asarnha Bucha Day 1/ || (d==24 && m==October) // Substitution for Chulalongkorn Day (Sunday 23rd October) )) return false; // 2017 is missing if ((y == 2018) && ( (d==1 && m==March) // Makha Bucha Day || (d==29 && m==May) // Wisakha Bucha Day || (d==27 && m==July) // Asarnha Bucha Day1 || (d==23 && m==October) // Chulalongkorn Day )) return false; return true; }
bool UnitedStates::NyseImpl::isBusinessDay(const Date& date) const { Weekday w = date.weekday(); Day d = date.dayOfMonth(), dd = date.dayOfYear(); Month m = date.month(); Year y = date.year(); Day em = easterMonday(y); if (isWeekend(w) // New Year's Day (possibly moved to Monday if on Sunday) || ((d == 1 || (d == 2 && w == Monday)) && m == January) // Washington's birthday (third Monday in February) || ((d >= 15 && d <= 21) && w == Monday && m == February) // Good Friday || (dd == em-3) // Memorial Day (last Monday in May) || (d >= 25 && w == Monday && m == May) // Independence Day (Monday if Sunday or Friday if Saturday) || ((d == 4 || (d == 5 && w == Monday) || (d == 3 && w == Friday)) && m == July) // Labor Day (first Monday in September) || (d <= 7 && w == Monday && m == September) // Thanksgiving Day (fourth Thursday in November) || ((d >= 22 && d <= 28) && w == Thursday && m == November) // Christmas (Monday if Sunday or Friday if Saturday) || ((d == 25 || (d == 26 && w == Monday) || (d == 24 && w == Friday)) && m == December) ) return false; if (y >= 1998) { if (// Martin Luther King's birthday (third Monday in January) ((d >= 15 && d <= 21) && w == Monday && m == January) // President Reagan's funeral || (y == 2004 && m == June && d == 11) // September 11, 2001 || (y == 2001 && m == September && (11 <= d && d <= 14)) // President Ford's funeral || (y == 2007 && m == January && d == 2) ) return false; } else if (y <= 1980) { if (// Presidential election days ((y % 4 == 0) && m == November && d <= 7 && w == Tuesday) // 1977 Blackout || (y == 1977 && m == July && d == 14) // Funeral of former President Lyndon B. Johnson. || (y == 1973 && m == January && d == 25) // Funeral of former President Harry S. Truman || (y == 1972 && m == December && d == 28) // National Day of Participation for the lunar exploration. || (y == 1969 && m == July && d == 21) // Funeral of former President Eisenhower. || (y == 1969 && m == March && d == 31) // Closed all day - heavy snow. || (y == 1969 && m == February && d == 10) // Day after Independence Day. || (y == 1968 && m == July && d == 5) // June 12-Dec. 31, 1968 // Four day week (closed on Wednesdays) - Paperwork Crisis || (y == 1968 && dd >= 163 && w == Wednesday) ) return false; } else { if (// Nixon's funeral (y == 1994 && m == April && d == 27) ) return false; } return true; }
bool Taiwan::TsecImpl::isBusinessDay(const Date& date) const { Weekday w = date.weekday(); Day d = date.dayOfMonth(); Month m = date.month(); Year y = date.year(); if (isWeekend(w) // New Year's Day || (d == 1 && m == January) // Peace Memorial Day || (d == 28 && m == February) // Labor Day || (d == 1 && m == May) // Double Tenth || (d == 10 && m == October) ) return false; if (y == 2002) { // Dragon Boat Festival and Moon Festival fall on Saturday if (// Chinese Lunar New Year (d >= 9 && d <= 17 && m == February) // Tomb Sweeping Day || (d == 5 && m == April) ) return false; } if (y == 2003) { // Tomb Sweeping Day falls on Saturday if (// Chinese Lunar New Year ((d >= 31 && m == January) || (d <= 5 && m == February)) // Dragon Boat Festival || (d == 4 && m == June) // Moon Festival || (d == 11 && m == September) ) return false; } if (y == 2004) { // Tomb Sweeping Day falls on Sunday if (// Chinese Lunar New Year (d >= 21 && d <= 26 && m == January) // Dragon Boat Festival || (d == 22 && m == June) // Moon Festival || (d == 28 && m == September) ) return false; } if (y == 2005) { // Dragon Boat and Moon Festival fall on Saturday or Sunday if (// Chinese Lunar New Year (d >= 6 && d <= 13 && m == February) // Tomb Sweeping Day || (d == 5 && m == April) // make up for Labor Day, not seen in other years || (d == 2 && m == May) ) return false; } if (y == 2006) { // Dragon Boat and Moon Festival fall on Saturday or Sunday if (// Chinese Lunar New Year ((d >= 28 && m == January) || (d <= 5 && m == February)) // Tomb Sweeping Day || (d == 5 && m == April) // Dragon Boat Festival || (d == 31 && m == May) // Moon Festival || (d == 6 && m == October) ) return false; } if (y == 2007) { if (// Chinese Lunar New Year (d >= 17 && d <= 25 && m == February) // Tomb Sweeping Day || (d == 5 && m == April) // adjusted holidays || (d == 6 && m == April) || (d == 18 && m == June) // Dragon Boat Festival || (d == 19 && m == June) // adjusted holiday || (d == 24 && m == September) // Moon Festival || (d == 25 && m == September) ) return false; } if (y == 2008) { if (// Chinese Lunar New Year (d >= 4 && d <= 11 && m == February) // Tomb Sweeping Day || (d == 4 && m == April) ) return false; } if (y == 2009) { if (// Public holiday (d == 2 && m == January) // Chinese Lunar New Year || (d >= 24 && m == January) // Tomb Sweeping Day || (d == 4 && m == April) // Dragon Boat Festival || ((d == 28 || d == 29) && m == May) // Moon Festival || (d == 3 && m == October) ) return false; } if (y == 2010) { if (// Chinese Lunar New Year (d >= 13 && d <= 21 && m == January) // Tomb Sweeping Day || (d == 5 && m == April) // Dragon Boat Festival || (d == 16 && m == May) // Moon Festival || (d == 22 && m == September) ) return false; } return true; }
bool SouthKorea::SettlementImpl::isBusinessDay(const Date& date) const { Weekday w = date.weekday(); Day d = date.dayOfMonth(); Month m = date.month(); Year y = date.year(); if (isWeekend(w) // New Year's Day || (d == 1 && m == January) // Independence Day || (d == 1 && m == March) // Arbour Day || (d == 5 && m == April && y <= 2005) // Labour Day || (d == 1 && m == May) // Children's Day || (d == 5 && m == May) // Memorial Day || (d == 6 && m == June) // Constitution Day || (d == 17 && m == July && y <= 2007) // Liberation Day || (d == 15 && m == August) // National Foundation Day || (d == 3 && m == October) // Christmas Day || (d == 25 && m == December) // Lunar New Year || ((d == 21 || d==22 || d==23) && m == January && y == 2004) || ((d == 8 || d == 9 || d == 10) && m == February && y == 2005) || ((d == 28 || d == 29 || d == 30 ) && m == January && y == 2006) || (d == 19 && m == February && y == 2007) || ((d == 6 || d == 7 || d == 8) && m == February && y == 2008) || ((d == 25 || d == 26 || d == 27) && m == January && y == 2009) || ((d == 13 || d == 14 || d == 15) && m == February && y == 2010) // Election Days || (d == 15 && m == April && y == 2004) // National Assembly || (d == 31 && m == May && y == 2006) // Regional election || (d == 19 && m == December && y == 2007) // Presidency || (d == 9 && m == April && y == 2008) // National Assembly || (d == 2 && m == June && y == 2010) // Local election // Buddha's birthday || (d == 26 && m == May && y == 2004) || (d == 15 && m == May && y == 2005) || (d == 5 && m == May && y == 2006) || (d == 24 && m == May && y == 2007) || (d == 12 && m == May && y == 2008) || (d == 2 && m == May && y == 2009) || (d == 21 && m == May && y == 2010) // Harvest Moon Day || ((d == 27 || d == 28 || d == 29) && m == September && y == 2004) || ((d == 17 || d == 18 || d == 19) && m == September && y == 2005) || ((d == 5 || d == 6 || d == 7) && m == October && y == 2006) || ((d == 24 || d == 25 || d == 26) && m == September && y == 2007) || ((d == 13 || d == 14 || d == 15) && m == September && y == 2008) || ((d == 2 || d == 3 || d == 4) && m == October && y == 2009) || ((d == 21 || d == 22 || d == 23) && m == September && y == 2010) ) return false; return true; }
bool China::SseImpl::isBusinessDay(const Date& date) const { Weekday w = date.weekday(); Day d = date.dayOfMonth(); Month m = date.month(); Year y = date.year(); if (isWeekend(w) // New Year's Day || (d == 1 && m == January) || (y == 2005 && d == 3 && m == January) || (y == 2006 && (d == 2 || d == 3) && m == January) || (y == 2007 && d <= 3 && m == January) || (y == 2007 && d == 31 && m == December) || (y == 2009 && d == 2 && m == January) || (y == 2011 && d == 3 && m == January) || (y == 2012 && (d == 2 || d == 3) && m == January) || (y == 2013 && d <= 3 && m == January) || (y == 2014 && d == 1 && m == January) || (y == 2015 && d <= 3 && m == January) // Chinese New Year || (y == 2004 && d >= 19 && d <= 28 && m == January) || (y == 2005 && d >= 7 && d <= 15 && m == February) || (y == 2006 && ((d >= 26 && m == January) || (d <= 3 && m == February))) || (y == 2007 && d >= 17 && d <= 25 && m == February) || (y == 2008 && d >= 6 && d <= 12 && m == February) || (y == 2009 && d >= 26 && d <= 30 && m == January) || (y == 2010 && d >= 15 && d <= 19 && m == February) || (y == 2011 && d >= 2 && d <= 8 && m == February) || (y == 2012 && d >= 23 && d <= 28 && m == January) || (y == 2013 && d >= 11 && d <= 15 && m == February) || (y == 2014 && d >= 31 && m == January) || (y == 2014 && d <= 6 && m == February) || (y == 2015 && d >= 18 && d <= 24 && m == February) || (y == 2016 && d >= 8 && d <= 12 && m == February) // Ching Ming Festival || (y <= 2008 && d == 4 && m == April) || (y == 2009 && d == 6 && m == April) || (y == 2010 && d == 5 && m == April) || (y == 2011 && d >=3 && d <= 5 && m == April) || (y == 2012 && d >= 2 && d <= 4 && m == April) || (y == 2013 && d >= 4 && d <= 5 && m == April) || (y == 2014 && d == 7 && m == April) || (y == 2015 && d >= 5 && d <= 6 && m == April) || (y == 2016 && d == 4 && m == April) // Labor Day || (y <= 2007 && d >= 1 && d <= 7 && m == May) || (y == 2008 && d >= 1 && d <= 2 && m == May) || (y == 2009 && d == 1 && m == May) || (y == 2010 && d == 3 && m == May) || (y == 2011 && d == 2 && m == May) || (y == 2012 && ((d == 30 && m == April) || (d == 1 && m == May))) || (y == 2013 && ((d >= 29 && m == April) || (d == 1 && m == May))) || (y == 2014 && d >= 1 && d <=3 && m == May) || (y == 2015 && d == 1 && m == May) || (y == 2016 && d == 1 && m == May) // Tuen Ng Festival || (y <= 2008 && d == 9 && m == June) || (y == 2009 && (d == 28 || d == 29) && m == May) || (y == 2010 && d >= 14 && d <= 16 && m == June) || (y == 2011 && d >= 4 && d <= 6 && m == June) || (y == 2012 && d >= 22 && d <= 24 && m == June) || (y == 2013 && d >= 10 && d <= 12 && m == June) || (y == 2014 && d == 2 && m == June) || (y == 2015 && d == 22 && m == June) || (y == 2016 && d >= 9 && d <= 10 && m == June) // Mid-Autumn Festival || (y <= 2008 && d == 15 && m == September) || (y == 2010 && d >= 22 && d <= 24 && m == September) || (y == 2011 && d >= 10 && d <= 12 && m == September) || (y == 2012 && d == 30 && m == September) || (y == 2013 && d >= 19 && d <= 20 && m == September) || (y == 2014 && d == 8 && m == September) || (y == 2015 && d == 27 && m == September) || (y == 2016 && d >= 15 && d <= 16 && m == September) // National Day || (y <= 2007 && d >= 1 && d <= 7 && m == October) || (y == 2008 && ((d >= 29 && m == September) || (d <= 3 && m == October))) || (y == 2009 && d >= 1 && d <= 8 && m == October) || (y == 2010 && d >= 1 && d <= 7 && m == October) || (y == 2011 && d >= 1 && d <= 7 && m == October) || (y == 2012 && d >= 1 && d <= 7 && m == October) || (y == 2013 && d >= 1 && d <= 7 && m == October) || (y == 2014 && d >= 1 && d <= 7 && m == October) || (y == 2015 && d >= 1 && d <= 7 && m == October) || (y == 2016 && d >= 3 && d <= 7 && m == October) // 70th anniversary of the victory of anti-Japaneses war || (y == 2015 && d >= 3 && d <= 4 && m == September) ) return false; return true; }
bool Indonesia::BejImpl::isBusinessDay(const Date& date) const { Weekday w = date.weekday(); Day d = date.dayOfMonth(); Month m = date.month(); Year y = date.year(); Day dd = date.dayOfYear(); Day em = easterMonday(y); if (isWeekend(w) // New Year's Day || (d == 1 && m == January) // Good Friday || (dd == em-3) // Ascension Thursday || (dd == em+38) // Independence Day || (d == 17 && m == August) // Christmas || (d == 25 && m == December) ) return false; if (y == 2005) { if (// Idul Adha (d == 21 && m == January) // Imlek || (d == 9 && m == February) // Moslem's New Year Day || (d == 10 && m == February) // Nyepi || (d == 11 && m == March) // Birthday of Prophet Muhammad SAW || (d == 22 && m == April) // Waisak || (d == 24 && m == May) // Ascension of Prophet Muhammad SAW || (d == 2 && m == September) // Idul Fitri || ((d == 3 || d == 4) && m == November) // National leaves || ((d == 2 || d == 7 || d == 8) && m == November) || (d == 26 && m == December) ) return false; } if (y == 2006) { if (// Idul Adha (d == 10 && m == January) // Moslem's New Year Day || (d == 31 && m == January) // Nyepi || (d == 30 && m == March) // Birthday of Prophet Muhammad SAW || (d == 10 && m == April) // Ascension of Prophet Muhammad SAW || (d == 21 && m == August) // Idul Fitri || ((d == 24 || d == 25) && m == October) // National leaves || ((d == 23 || d == 26 || d == 27) && m == October) ) return false; } if (y == 2007) { if (// Nyepi (d == 19 && m == March) // Waisak || (d == 1 && m == June) // Ied Adha || (d == 20 && m == December) // National leaves || (d == 18 && m == May) || ((d == 12 || d == 15 || d == 16) && m == October) || ((d == 21 || d == 24) && m == October) ) return false; } if (y == 2008) { if (// Islamic New Year ((d == 10 || d == 11) && m == January) // Chinese New Year || ((d == 7 || d == 8) && m == February) // Saka's New Year || (d == 7 && m == March) // Birthday of the prophet Muhammad SAW || (d == 20 && m == March) // Vesak Day || (d == 20 && m == May) // Isra' Mi'raj of the prophet Muhammad SAW || (d == 30 && m == July) // National leave || (d == 18 && m == August) // Ied Fitr || (d == 30 && m == September) || ((d == 1 || d == 2 || d == 3) && m == October) // Ied Adha || (d == 8 && m == December) // Islamic New Year || (d == 29 && m == December) // New Year's Eve || (d == 31 && m == December) ) return false; } if (y == 2009) { if (// Public holiday (d == 2 && m == January) // Chinese New Year || (d == 26 && m == January) // Birthday of the prophet Muhammad SAW || (d == 9 && m == March) // Saka's New Year || (d == 26 && m == March) // National leave || (d == 9 && m == April) // Isra' Mi'raj of the prophet Muhammad SAW || (d == 20 && m == July) // Ied Fitr || (d >= 18 && d <= 23 && m == September) // Ied Adha || (d == 27 && m == November) // Islamic New Year || (d == 18 && m == December) // Public Holiday || (d == 24 && m == December) // Trading holiday || (d == 31 && m == December) ) return false; } if (y == 2010) { if (// Birthday of the prophet Muhammad SAW (d == 26 && m == February) // Saka's New Year || (d == 16 && m == March) // Birth of Buddha || (d == 28 && m == May) // Ied Fitr || (d >= 8 && d <= 14 && m == September) // Ied Adha || (d == 17 && m == November) // Islamic New Year || (d == 7 && m == December) // Public Holiday || (d == 24 && m == December) // Trading holiday || (d == 31 && m == December) ) return false; } if (y == 2011) { if (// Chinese New Year (d == 3 && m == February) // Birthday of the prophet Muhammad SAW || (d == 15 && m == February) // Birth of Buddha || (d == 17 && m == May) // Isra' Mi'raj of the prophet Muhammad SAW || (d == 29 && m == June) // Ied Fitr || (d >= 29 && m == August) || (d <= 2 && m == September) // Public Holiday || (d == 26 && m == December) ) return false; } if (y == 2012) { if (// Chinese New Year (d == 23 && m == January) // Saka New Year || (d == 23 && m == March) // Ied ul-Fitr || (d >= 20 && d <= 22 && m == August) // Eid ul-Adha || (d == 26 && m == October) // Islamic New Year || (d >= 15 && d <= 16 && m == November) // Public Holiday || (d == 24 && m == December) // Trading Holiday || (d == 31 && m == December) ) return false; } if (y == 2013) { if (// Birthday of the prophet Muhammad SAW (d == 24 && m == January) // Saka New Year || (d == 12 && m == March) // Isra' Mi'raj of the prophet Muhammad SAW || (d == 6 && m == June) // Ied ul-Fitr || (d >= 5 && d <= 9 && m == August) // Eid ul-Adha || (d >= 14 && d <= 15 && m == October) // Islamic New Year || (d == 5 && m == November) // Public Holiday || (d == 26 && m == December) // Trading Holiday || (d == 31 && m == December) ) return false; } if (y == 2014) { if (// Birthday of the prophet Muhammad SAW (d == 14 && m == January) // Chinese New Year || (d == 31 && m == January) // Saka New Year || (d == 31 && m == March) // Labour Day || (d == 1 && m == May) // Birth of Buddha || (d == 15 && m == May) // Isra' Mi'raj of the prophet Muhammad SAW || (d == 27 && m == May) // Ascension Day of Jesus Christ || (d == 29 && m == May) // Ied ul-Fitr || ((d >= 28 && m == July) || (d == 1 && m == August)) // Public Holiday || (d == 26 && m == December) // Trading Holiday || (d == 31 && m == December) ) return false; } return true; }
bool SouthKorea::SettlementImpl::isBusinessDay(const Date& date) const { Weekday w = date.weekday(); Day d = date.dayOfMonth(); Month m = date.month(); Year y = date.year(); if (isWeekend(w) // New Year's Day || (d == 1 && m == January) // Independence Day || (d == 1 && m == March) // Arbour Day || (d == 5 && m == April && y <= 2005) // Labour Day || (d == 1 && m == May) // Children's Day || (d == 5 && m == May) // Memorial Day || (d == 6 && m == June) // Constitution Day || (d == 17 && m == July && y <= 2007) // Liberation Day || (d == 15 && m == August) // National Foundation Day || (d == 3 && m == October) // Christmas Day || (d == 25 && m == December) // Lunar New Year || ((d == 21 || d == 22 || d == 23) && m == January && y == 2004) || ((d == 8 || d == 9 || d == 10) && m == February && y == 2005) || ((d == 28 || d == 29 || d == 30) && m == January && y == 2006) || ( d == 19 && m == February && y == 2007) || ((d == 6 || d == 7 || d == 8) && m == February && y == 2008) || ((d == 25 || d == 26 || d == 27) && m == January && y == 2009) || ((d == 13 || d == 14 || d == 15) && m == February && y == 2010) || ((d == 2 || d == 3 || d == 4) && m == February && y == 2011) || ((d == 23 || d == 24) && m == January && y == 2012) || ( d == 11 && m == February && y == 2013) || ((d == 30 || d == 31) && m == January && y == 2014) || ((d == 18 || d == 19 || d == 20) && m == February && y == 2015) || ((d >= 7 && d <= 10) && m == February && y == 2016) || ((d == 27 || d == 28 || d == 29) && m == January && y == 2017) || ((d == 15 || d == 16 || d == 17) && m == February && y == 2018) || ((d == 4 || d == 5 || d == 6) && m == February && y == 2019) || ((d == 24 || d == 25 || d == 26) && m == January && y == 2020) || ((d == 11 || d == 12 || d == 13) && m == February && y == 2021) || (((d == 31 && m == January) || ((d == 1 || d == 2) && m == February)) && y == 2022) || ((d == 21 || d == 22 || d == 23) && m == January && y == 2023) || ((d == 9 || d == 10 || d == 11) && m == February && y == 2024) || ((d == 28 || d == 29 || d == 30) && m == January && y == 2025) || ((d == 28 || d == 29 || d == 30) && m == January && y == 2025) || ((d == 16 || d == 17 || d == 18) && m == February && y == 2026) || ((d == 5 || d == 6 || d == 7) && m == February && y == 2027) || ((d == 25 || d == 26 || d == 27) && m == January && y == 2028) || ((d == 12 || d == 13 || d == 14) && m == February && y == 2029) || ((d == 2 || d == 3 || d == 4) && m == February && y == 2030) || ((d == 22 || d == 23 || d == 24) && m == January && y == 2031) || ((d == 10 || d == 11 || d == 12) && m == February && y == 2032) // Election Days || (d == 15 && m == April && y == 2004) // National Assembly || (d == 31 && m == May && y == 2006) // Regional election || (d == 19 && m == December && y == 2007) // Presidency || (d == 9 && m == April && y == 2008) // National Assembly || (d == 2 && m == June && y == 2010) // Local election || (d == 11 && m == April && y == 2012) // National Assembly || (d == 19 && m == December && y == 2012) // Presidency || (d == 4 && m == June && y == 2014) // Local election || (d == 13 && m == April && y == 2016) // National Assembly // Buddha's birthday || (d == 26 && m == May && y == 2004) || (d == 15 && m == May && y == 2005) || (d == 5 && m == May && y == 2006) || (d == 24 && m == May && y == 2007) || (d == 12 && m == May && y == 2008) || (d == 2 && m == May && y == 2009) || (d == 21 && m == May && y == 2010) || (d == 10 && m == May && y == 2011) || (d == 28 && m == May && y == 2012) || (d == 17 && m == May && y == 2013) || (d == 6 && m == May && y == 2014) || (d == 25 && m == May && y == 2015) || (d == 14 && m == May && y == 2016) || (d == 3 && m == May && y == 2017) || (d == 22 && m == May && y == 2018) || (d == 12 && m == May && y == 2019) || (d == 30 && m == April && y == 2020) || (d == 19 && m == May && y == 2021) || (d == 8 && m == May && y == 2022) || (d == 26 && m == May && y == 2023) || (d == 15 && m == May && y == 2024) || (d == 5 && m == May && y == 2025) || (d == 24 && m == May && y == 2026) || (d == 13 && m == May && y == 2027) || (d == 2 && m == May && y == 2028) || (d == 20 && m == May && y == 2029) || (d == 9 && m == May && y == 2030) || (d == 28 && m == May && y == 2031) || (d == 16 && m == May && y == 2032) // Special holiday: 70 years from Independence Day || (d == 14 && m == August && y == 2015) // Harvest Moon Day || ((d == 27 || d == 28 || d == 29) && m == September && y == 2004) || ((d == 17 || d == 18 || d == 19) && m == September && y == 2005) || ((d == 5 || d == 6 || d == 7) && m == October && y == 2006) || ((d == 24 || d == 25 || d == 26) && m == September && y == 2007) || ((d == 13 || d == 14 || d == 15) && m == September && y == 2008) || ((d == 2 || d == 3 || d == 4) && m == October && y == 2009) || ((d == 21 || d == 22 || d == 23) && m == September && y == 2010) || ((d == 12 || d == 13) && m == September && y == 2011) || ((d == 1) && m == October && y == 2012) || ((d == 18 || d == 19 || d == 20) && m == September && y == 2013) || ((d == 8 || d == 9 || d == 10) && m == September && y == 2014) || ((d == 28 || d == 29) && m == September && y == 2015) || ((d == 14 || d == 15 || d == 16) && m == September && y == 2016) || ((d == 3 || d == 4 || d == 5) && m == October && y == 2017) || ((d == 23 || d == 24 || d == 25) && m == September && y == 2018) || ((d == 12 || d == 13 || d == 14) && m == September && y == 2019) || (((d == 30 && m == September) || ((d == 1 || d == 2) && m == October)) && y == 2020) || ((d == 20 || d == 21 || d == 22) && m == September && y == 2021) || ((d == 9 || d == 10 || d == 11) && m == September && y == 2022) || ((d == 28 || d == 29 || d == 30) && m == September && y == 2023) || ((d == 16 || d == 17 || d == 18) && m == September && y == 2024) || ((d == 5 || d == 6 || d == 7) && m == October && y == 2025) || ((d == 24 || d == 25 || d == 26) && m == September && y == 2026) || ((d == 14 || d == 15 || d == 16) && m == September && y == 2027) || ((d == 2 || d == 3 || d == 4) && m == October && y == 2028) || ((d == 21 || d == 22 || d == 23) && m == September && y == 2029) || ((d == 11 || d == 12 || d == 13) && m == September && y == 2030) || (((d == 30 && m == September) || ((d == 1 || d == 2) && m == October)) && y == 2031) || ((d == 18 || d == 19 || d == 20) && m == September && y == 2032) // Hangul Proclamation of Korea || (d == 9 && m == October && y >= 2013) ) return false; return true; }
bool Turkey::Impl::isBusinessDay(const Date& date) const { Weekday w = date.weekday(); Day d = date.dayOfMonth(); Month m = date.month(); Year y = date.year(); if (isWeekend(w) // New Year's Day || (d == 1 && m == January) // 23 nisan / National Holiday || (d == 23 && m == April) // 19 may/ National Holiday || (d == 19 && m == May) // 30 aug/ National Holiday || (d == 30 && m == August) ///29 ekim National Holiday || (d == 29 && m == October)) return false; // Local Holidays if (y == 2004) { // Kurban if ((m == February && d <= 4) // Ramadan || (m == November && d >= 14 && d <= 16)) return false; } else if (y == 2005) { // Kurban if ((m == January && d >= 19 && d <= 21) // Ramadan || (m == November && d >= 2 && d <= 5)) return false; } else if (y == 2006) { // Kurban if ((m == January && d >= 10 && d <= 13) // Ramadan || (m == October && d >= 23 && d <= 25) // Kurban || (m == December && d == 31)) return false; } else if (y == 2007) { // Kurban if ((m == January && d <= 3) // Ramadan || (m == October && d >= 12 && d <= 14) // Kurban || (m == December && d >= 20 && d <= 23)) return false; } else if (y == 2008) { // Ramadan if ((m == September && d == 30) || (m == October && d <= 2) // Kurban || (m == December && d >= 8 && d <= 11)) return false; } else if (y == 2009) { // Ramadan if ((m == September && d >= 20 && d <= 22) // Kurban || (m == November && d >= 27 && d <= 30)) return false; } else if (y == 2010) { // Ramadan if ((m == September && d >= 9 && d <= 11) // Kurban || (m == November && d >= 16 && d <= 19)) return false; } else if (y == 2011) { // not clear from borsainstanbul.com if ((m == October && d == 1) || (m == November && d >= 9 && d <= 13)) return false; } else if (y == 2012) { // Ramadan if ((m == August && d >= 18 && d <= 21) // Kurban || (m == October && d >= 24 && d <= 28)) return false; } else if (y == 2013) { // Ramadan if ((m == August && d >= 7 && d <= 10) // Kurban || (m == October && d >= 14 && d <= 18) // additional holiday for Republic Day || (m == October && d == 28)) return false; } return true; }