Table of Contents

Class SouthAfrica

Namespace
NanoQL.Time
Assembly
NanoQL.dll

The South African calendar.

public sealed class SouthAfrica : Calendar, IEquatable<Calendar>
Inheritance
SouthAfrica
Implements
Inherited Members

Remarks

Holidays:

  • Saturdays
  • Sundays
  • New Year's Day, January 1st (possibly moved to Monday)
  • Good Friday
  • Family Day, Easter Monday
  • Human Rights Day, March 21st (possibly moved to Monday)
  • Freedom Day, April 27th (possibly moved to Monday)
  • Workers Day, May 1st (possibly moved to Monday)
  • Youth Day, June 16th (possibly moved to Monday)
  • National Women's Day, August 9th (possibly moved to Monday)
  • Heritage Day, September 24th (possibly moved to Monday)
  • Day of Reconciliation, December 16th (possibly moved to Monday)
  • Christmas, December 25th
  • Day of Goodwill, December 26th (possibly moved to Monday)
  • Election Days

Note that there are some one-off holidays not listed above. See the implementation for the complete list.

Constructors

SouthAfrica()

Initializes a new instance of the SouthAfrica class.

public SouthAfrica()

Properties

Name

Gets the calendar's name, used for output and comparison; not meant for switch-on-type code.

public override string Name { get; }

Property Value

string

Methods

IsBusinessDayCore(Date)

Whether the date is a business day by the calendar's own rules, before added and removed holidays.

protected override bool IsBusinessDayCore(Date date)

Parameters

date Date

Returns

bool

true for a business day.

IsWeekend(Weekday)

Whether the weekday is part of the weekend for the given market.

public override bool IsWeekend(Weekday w)

Parameters

w Weekday

The weekday.

Returns

bool

true for a weekend day.