.net library retrieving public holiday dates in Australia.
See Milestones for release notes.
The holiday dates provided are based on best efforts to ensure accuracy. However, dates are not guarantee to be correct or up-to-date. Consumers should verify the holiday dates with official sources before relying on them for any critical purposes. The authors and contributors of this project are not responsible for any inaccuracies or any consequences arising from the use of this information.
- Australian Capital Territory
- New South Wales
- Northern Territory
- Queensland
- South Australia
- Tasmania
- Victoria
- Western Australia
The main entry point is AustralianHolidays.Holidays
Determines if a given date is a public holiday in a specified Australian state.
var date = new Date(2024, 12, 25);
IsTrue(date.IsHoliday(State.NSW));
Determines if a specific date is a recognized public holiday in a specified state and retrieving the name of the holiday if it is.
var date = new Date(2024, 12, 25);
IsTrue(date.IsHoliday(State.NSW, out var name));
AreEqual("Christmas Day", name);
The same as IsHoliday but a convenience wrapper named method is provided for each state.
var date = new Date(2024, 12, 25);
IsTrue(date.IsNswHoliday());
The same as IsHoliday with name but a convenience wrapper named method is provided for each state.
var date = new Date(2024, 12, 25);
IsTrue(date.IsNswHoliday(out var name));
AreEqual("Christmas Day", name);
Retrieves public holidays for all states over a specified range of years.
var holidays = Holidays.ForYears(startYear: 2025, yearCount: 2);
foreach (var (date, state, name) in holidays)
{
Console.WriteLine($"date: {date}, state: {state}, name: {name}");
}
Retrieves public holidays for a specified state over a given range of years.
var holidays = Holidays.ForYears(State.NSW, startYear: 2025, yearCount: 2);
foreach (var (date, name) in holidays)
{
Console.WriteLine($"date: {date}, name: {name}");
}
Gets federal holidays that are common for all states.
var holidays = Holidays.ForNational(2025);
foreach (var (date, name) in holidays)
{
Console.WriteLine($"date: {date}, name: {name}");
}
var holidays = Holidays.ForNsw(2025);
foreach (var (date, name) in holidays)
{
Console.WriteLine($"date: {date}, name: {name}");
}
var date = new Date(2025, 12, 30);
var result = date.IsFederalGovernmentShutdown();
IsTrue(result);
var (start, end) = Holidays.GetFederalGovernmentShutdown(startYear: 2024);
AreEqual(new Date(2024, 12, 25), start);
AreEqual(new Date(2025, 1, 1), end);
var md = await Holidays.ExportToMarkdown();
Common holidays for all states
2025 | 2026 | 2027 | 2028 | 2029 | |
---|---|---|---|---|---|
New Year's Day | Wed 01 Jan |
Thu 01 Jan |
Fri 01 Jan |
Sat 01 Jan |
Mon 01 Jan |
Australia Day | Mon 26 Jan |
Tue 26 Jan |
Wed 26 Jan |
Fri 26 Jan |
|
Australia Day (additional) |
Mon 27 Jan |
||||
Good Friday | Fri 18 Apr |
Fri 03 Apr |
Fri 26 Mar |
Fri 14 Apr |
Fri 30 Mar |
Easter Saturday | Sat 19 Apr |
Sat 04 Apr |
Sat 27 Mar |
Sat 15 Apr |
Sat 31 Mar |
Easter Sunday | Sun 20 Apr |
Sun 05 Apr |
Sun 28 Mar |
Sun 16 Apr |
Sun 01 Apr |
Easter Monday | Mon 21 Apr |
Mon 06 Apr |
Mon 29 Mar |
Mon 17 Apr |
Mon 02 Apr |
Anzac Day | Fri 25 Apr |
Sun 25 Apr |
Tue 25 Apr |
Wed 25 Apr |
|
Anzac Day (additional) |
Mon 27 Apr |
||||
Christmas Day | Thu 25 Dec |
Fri 25 Dec |
Sat 25 Dec |
Mon 25 Dec |
Tue 25 Dec |
Boxing Day | Fri 26 Dec |
Sat 26 Dec |
Sun 26 Dec |
Tue 26 Dec |
Wed 26 Dec |
Christmas (additional) |
Mon 28 Dec |
Mon 27 Dec Tue 28 Dec |
Wed 27 Dec Thu 28 Dec |
Thu 27 Dec Fri 28 Dec |
var md = await Holidays.ExportToMarkdown(state);
Australian Capital Territory (Reference)
2025 | 2026 | 2027 | 2028 | 2029 | |
---|---|---|---|---|---|
New Year's Day | Wed 01 Jan |
Thu 01 Jan |
Fri 01 Jan |
Sat 01 Jan |
Mon 01 Jan |
Australia Day | Mon 26 Jan |
Tue 26 Jan |
Wed 26 Jan |
Fri 26 Jan |
|
Australia Day (additional) |
Mon 27 Jan |
||||
Canberra Day | Mon 10 Mar |
Mon 09 Mar |
Mon 08 Mar |
Mon 13 Mar |
Mon 12 Mar |
Good Friday | Fri 18 Apr |
Fri 03 Apr |
Fri 26 Mar |
Fri 14 Apr |
Fri 30 Mar |
Easter Saturday | Sat 19 Apr |
Sat 04 Apr |
Sat 27 Mar |
Sat 15 Apr |
Sat 31 Mar |
Easter Sunday | Sun 20 Apr |
Sun 05 Apr |
Sun 28 Mar |
Sun 16 Apr |
Sun 01 Apr |
Easter Monday | Mon 21 Apr |
Mon 06 Apr |
Mon 29 Mar |
Mon 17 Apr |
Mon 02 Apr |
Anzac Day | Fri 25 Apr |
Sun 25 Apr |
Tue 25 Apr |
Wed 25 Apr |
|
Anzac Day (additional) |
Mon 27 Apr |
||||
Reconciliation Day | Mon 02 Jun |
Mon 01 Jun |
Mon 31 May |
Mon 29 May |
Mon 28 May |
King's Birthday | Mon 09 Jun |
Mon 08 Jun |
Mon 14 Jun |
Mon 12 Jun |
Mon 11 Jun |
Labour Day | Mon 06 Oct |
Mon 05 Oct |
Mon 04 Oct |
Mon 02 Oct |
Mon 01 Oct |
Christmas Day | Thu 25 Dec |
Fri 25 Dec |
Sat 25 Dec |
Mon 25 Dec |
Tue 25 Dec |
Boxing Day | Fri 26 Dec |
Sat 26 Dec |
Sun 26 Dec |
Tue 26 Dec |
Wed 26 Dec |
Christmas (additional) |
Mon 28 Dec |
Mon 27 Dec Tue 28 Dec |
Wed 27 Dec Thu 28 Dec |
Thu 27 Dec Fri 28 Dec |
New South Wales (Reference)
2025 | 2026 | 2027 | 2028 | 2029 | |
---|---|---|---|---|---|
New Year's Day | Wed 01 Jan |
Thu 01 Jan |
Fri 01 Jan |
Sat 01 Jan |
Mon 01 Jan |
New Year's Day (additional) |
Mon 03 Jan |
||||
Australia Day | Mon 26 Jan |
Tue 26 Jan |
Wed 26 Jan |
Fri 26 Jan |
|
Australia Day (additional) |
Mon 27 Jan |
||||
Good Friday | Fri 18 Apr |
Fri 03 Apr |
Fri 26 Mar |
Fri 14 Apr |
Fri 30 Mar |
Easter Saturday | Sat 19 Apr |
Sat 04 Apr |
Sat 27 Mar |
Sat 15 Apr |
Sat 31 Mar |
Easter Sunday | Sun 20 Apr |
Sun 05 Apr |
Sun 28 Mar |
Sun 16 Apr |
Sun 01 Apr |
Easter Monday | Mon 21 Apr |
Mon 06 Apr |
Mon 29 Mar |
Mon 17 Apr |
Mon 02 Apr |
Anzac Day | Fri 25 Apr |
Sat 25 Apr |
Sun 25 Apr |
Tue 25 Apr |
Wed 25 Apr |
King's Birthday | Mon 09 Jun |
Mon 08 Jun |
Mon 14 Jun |
Mon 12 Jun |
Mon 11 Jun |
Bank Holiday | Mon 04 Aug |
Mon 03 Aug |
Mon 02 Aug |
Mon 07 Aug |
Mon 06 Aug |
Labour Day | Mon 06 Oct |
Mon 05 Oct |
Mon 04 Oct |
Mon 02 Oct |
Mon 01 Oct |
Christmas Day | Thu 25 Dec |
Fri 25 Dec |
Sat 25 Dec |
Mon 25 Dec |
Tue 25 Dec |
Boxing Day | Fri 26 Dec |
Sat 26 Dec |
Sun 26 Dec |
Tue 26 Dec |
Wed 26 Dec |
Christmas (additional) |
Mon 28 Dec |
Mon 27 Dec Tue 28 Dec |
Wed 27 Dec Thu 28 Dec |
Thu 27 Dec Fri 28 Dec |
Northern Territory (Reference)
2025 | 2026 | 2027 | 2028 | 2029 | |
---|---|---|---|---|---|
New Year's Day | Wed 01 Jan |
Thu 01 Jan |
Fri 01 Jan |
Sat 01 Jan |
Mon 01 Jan |
Australia Day | Mon 26 Jan |
Tue 26 Jan |
Wed 26 Jan |
Fri 26 Jan |
|
Australia Day (additional) |
Mon 27 Jan |
||||
Good Friday | Fri 18 Apr |
Fri 03 Apr |
Fri 26 Mar |
Fri 14 Apr |
Fri 30 Mar |
Easter Saturday | Sat 19 Apr |
Sat 04 Apr |
Sat 27 Mar |
Sat 15 Apr |
Sat 31 Mar |
Easter Sunday | Sun 20 Apr |
Sun 05 Apr |
Sun 28 Mar |
Sun 16 Apr |
Sun 01 Apr |
Easter Monday | Mon 21 Apr |
Mon 06 Apr |
Mon 29 Mar |
Mon 17 Apr |
Mon 02 Apr |
Anzac Day | Fri 25 Apr |
Sat 25 Apr |
Sun 25 Apr |
Tue 25 Apr |
Wed 25 Apr |
May Day | Mon 05 May |
Mon 04 May |
Mon 03 May |
Mon 01 May |
Mon 07 May |
King's Birthday | Mon 09 Jun |
Mon 08 Jun |
Mon 14 Jun |
Mon 12 Jun |
Mon 11 Jun |
Picnic Day | Mon 04 Aug |
Mon 03 Aug |
Mon 02 Aug |
Mon 07 Aug |
Mon 06 Aug |
Christmas Eve (partial day) |
Wed 24 Dec |
Thu 24 Dec |
Fri 24 Dec |
Sun 24 Dec |
Mon 24 Dec |
Christmas Day | Thu 25 Dec |
Fri 25 Dec |
Sat 25 Dec |
Mon 25 Dec |
Tue 25 Dec |
Boxing Day | Fri 26 Dec |
Sat 26 Dec |
Sun 26 Dec |
Tue 26 Dec |
Wed 26 Dec |
Christmas (additional) |
Mon 28 Dec |
Mon 27 Dec Tue 28 Dec |
Wed 27 Dec Thu 28 Dec |
Thu 27 Dec Fri 28 Dec |
|
New Year's Eve (partial day) |
Wed 31 Dec |
Thu 31 Dec |
Fri 31 Dec |
Sun 31 Dec |
Mon 31 Dec |
Queensland (Reference)
2025 | 2026 | 2027 | 2028 | 2029 | |
---|---|---|---|---|---|
New Year's Day | Wed 01 Jan |
Thu 01 Jan |
Fri 01 Jan |
Sat 01 Jan |
Mon 01 Jan |
Australia Day | Mon 26 Jan |
Tue 26 Jan |
Wed 26 Jan |
Fri 26 Jan |
|
Australia Day (additional) |
Mon 27 Jan |
||||
Good Friday | Fri 18 Apr |
Fri 03 Apr |
Fri 26 Mar |
Fri 14 Apr |
Fri 30 Mar |
Easter Saturday | Sat 19 Apr |
Sat 04 Apr |
Sat 27 Mar |
Sat 15 Apr |
Sat 31 Mar |
Easter Sunday | Sun 20 Apr |
Sun 05 Apr |
Sun 28 Mar |
Sun 16 Apr |
Sun 01 Apr |
Easter Monday | Mon 21 Apr |
Mon 06 Apr |
Mon 29 Mar |
Mon 17 Apr |
Mon 02 Apr |
Anzac Day | Fri 25 Apr |
Sat 25 Apr |
Sun 25 Apr |
Tue 25 Apr |
Wed 25 Apr |
Labour Day | Mon 05 May |
Mon 04 May |
Mon 03 May |
Mon 01 May |
Mon 07 May |
King's Birthday | Mon 06 Oct |
Mon 05 Oct |
Mon 04 Oct |
Mon 02 Oct |
Mon 01 Oct |
Christmas Eve (partial day) |
Wed 24 Dec |
Thu 24 Dec |
Fri 24 Dec |
Sun 24 Dec |
Mon 24 Dec |
Christmas Day | Thu 25 Dec |
Fri 25 Dec |
Sat 25 Dec |
Mon 25 Dec |
Tue 25 Dec |
Boxing Day | Fri 26 Dec |
Sat 26 Dec |
Sun 26 Dec |
Tue 26 Dec |
Wed 26 Dec |
Christmas (additional) |
Mon 28 Dec |
Mon 27 Dec Tue 28 Dec |
Wed 27 Dec Thu 28 Dec |
Thu 27 Dec Fri 28 Dec |
South Australia (Reference)
2025 | 2026 | 2027 | 2028 | 2029 | |
---|---|---|---|---|---|
New Year's Day | Wed 01 Jan |
Thu 01 Jan |
Fri 01 Jan |
Sat 01 Jan |
Mon 01 Jan |
Australia Day | Mon 26 Jan |
Tue 26 Jan |
Wed 26 Jan |
Fri 26 Jan |
|
Australia Day (additional) |
Mon 27 Jan |
||||
Adelaide Cup Day | Mon 10 Mar |
Mon 09 Mar |
Mon 08 Mar |
Mon 13 Mar |
Mon 12 Mar |
Good Friday | Fri 18 Apr |
Fri 03 Apr |
Fri 26 Mar |
Fri 14 Apr |
Fri 30 Mar |
Easter Saturday | Sat 19 Apr |
Sat 04 Apr |
Sat 27 Mar |
Sat 15 Apr |
Sat 31 Mar |
Easter Sunday | Sun 20 Apr |
Sun 05 Apr |
Sun 28 Mar |
Sun 16 Apr |
Sun 01 Apr |
Easter Monday | Mon 21 Apr |
Mon 06 Apr |
Mon 29 Mar |
Mon 17 Apr |
Mon 02 Apr |
Anzac Day | Fri 25 Apr |
Sat 25 Apr |
Sun 25 Apr |
Tue 25 Apr |
Wed 25 Apr |
King's Birthday | Mon 09 Jun |
Mon 08 Jun |
Mon 14 Jun |
Mon 12 Jun |
Mon 11 Jun |
Labour Day | Mon 06 Oct |
Mon 05 Oct |
Mon 04 Oct |
Mon 02 Oct |
Mon 01 Oct |
Christmas Eve (partial day) |
Wed 24 Dec |
Thu 24 Dec |
Fri 24 Dec |
Sun 24 Dec |
Mon 24 Dec |
Christmas Day | Thu 25 Dec |
Fri 25 Dec |
Sat 25 Dec |
Mon 25 Dec |
Tue 25 Dec |
Proclamation and Boxing Day | Fri 26 Dec |
Tue 26 Dec |
Wed 26 Dec |
||
Proclamation Day | Sat 26 Dec |
Sun 26 Dec |
|||
Proclamation Day (additional) |
Mon 28 Dec |
Mon 27 Dec |
|||
New Year's Eve (partial day) |
Wed 31 Dec |
Thu 31 Dec |
Fri 31 Dec |
Sun 31 Dec |
Mon 31 Dec |
Tasmania (Reference)
2025 | 2026 | 2027 | 2028 | 2029 | |
---|---|---|---|---|---|
New Year's Day | Wed 01 Jan |
Thu 01 Jan |
Fri 01 Jan |
Sat 01 Jan |
Mon 01 Jan |
Australia Day | Mon 26 Jan |
Tue 26 Jan |
Wed 26 Jan |
Fri 26 Jan |
|
Australia Day (additional) |
Mon 27 Jan |
||||
Eight Hours Day | Mon 10 Mar |
Mon 09 Mar |
Mon 08 Mar |
Mon 13 Mar |
Mon 12 Mar |
Good Friday | Fri 18 Apr |
Fri 03 Apr |
Fri 26 Mar |
Fri 14 Apr |
Fri 30 Mar |
Easter Sunday | Sun 20 Apr |
Sun 05 Apr |
Sun 28 Mar |
Sun 16 Apr |
Sun 01 Apr |
Easter Monday | Mon 21 Apr |
Mon 06 Apr |
Mon 29 Mar |
Mon 17 Apr |
Mon 02 Apr |
Easter Tuesday (Government employees only) |
Tue 22 Apr |
Tue 07 Apr |
Tue 30 Mar |
Tue 18 Apr |
Tue 03 Apr |
Anzac Day | Fri 25 Apr |
Sat 25 Apr |
Sun 25 Apr |
Tue 25 Apr |
Wed 25 Apr |
King's Birthday | Mon 09 Jun |
Mon 08 Jun |
Mon 14 Jun |
Mon 12 Jun |
Mon 11 Jun |
Christmas Day | Thu 25 Dec |
Fri 25 Dec |
Sat 25 Dec |
Mon 25 Dec |
Tue 25 Dec |
Boxing Day | Fri 26 Dec |
Sat 26 Dec |
Sun 26 Dec |
Tue 26 Dec |
Wed 26 Dec |
Christmas (additional) |
Mon 28 Dec |
Mon 27 Dec Tue 28 Dec |
Wed 27 Dec Thu 28 Dec |
Thu 27 Dec Fri 28 Dec |
Victorian (Reference)
2025 | 2026 | 2027 | 2028 | 2029 | |
---|---|---|---|---|---|
New Year's Day | Wed 01 Jan |
Thu 01 Jan |
Fri 01 Jan |
Sat 01 Jan |
Mon 01 Jan |
Australia Day | Mon 26 Jan |
Tue 26 Jan |
Wed 26 Jan |
Fri 26 Jan |
|
Australia Day (additional) |
Mon 27 Jan |
||||
Labour Day | Mon 10 Mar |
Mon 09 Mar |
Mon 08 Mar |
Mon 13 Mar |
Mon 12 Mar |
Good Friday | Fri 18 Apr |
Fri 03 Apr |
Fri 26 Mar |
Fri 14 Apr |
Fri 30 Mar |
Easter Saturday | Sat 19 Apr |
Sat 04 Apr |
Sat 27 Mar |
Sat 15 Apr |
Sat 31 Mar |
Easter Sunday | Sun 20 Apr |
Sun 05 Apr |
Sun 28 Mar |
Sun 16 Apr |
Sun 01 Apr |
Easter Monday | Mon 21 Apr |
Mon 06 Apr |
Mon 29 Mar |
Mon 17 Apr |
Mon 02 Apr |
Anzac Day | Fri 25 Apr |
Sat 25 Apr |
Sun 25 Apr |
Tue 25 Apr |
Wed 25 Apr |
King's Birthday | Mon 09 Jun |
Mon 08 Jun |
Mon 14 Jun |
Mon 12 Jun |
Mon 11 Jun |
Friday before AFL Grand Final (Subject to AFL schedule) |
Fri 26 Sep |
Fri 25 Sep |
Fri 24 Sep |
Fri 29 Sep |
Fri 28 Sep |
Melbourne Cup Day | Tue 04 Nov |
Tue 03 Nov |
Tue 02 Nov |
Tue 07 Nov |
Tue 06 Nov |
Christmas Day | Thu 25 Dec |
Fri 25 Dec |
Sat 25 Dec |
Mon 25 Dec |
Tue 25 Dec |
Boxing Day | Fri 26 Dec |
Sat 26 Dec |
Sun 26 Dec |
Tue 26 Dec |
Wed 26 Dec |
Christmas (additional) |
Mon 28 Dec |
Mon 27 Dec Tue 28 Dec |
Wed 27 Dec Thu 28 Dec |
Thu 27 Dec Fri 28 Dec |
Western Australia (Reference)
2025 | 2026 | 2027 | 2028 | 2029 | |
---|---|---|---|---|---|
New Year's Day | Wed 01 Jan |
Thu 01 Jan |
Fri 01 Jan |
Sat 01 Jan |
Mon 01 Jan |
Australia Day | Mon 26 Jan |
Tue 26 Jan |
Wed 26 Jan |
Fri 26 Jan |
|
Australia Day (additional) |
Mon 27 Jan |
||||
Labour Day | Mon 03 Mar |
Mon 02 Mar |
Mon 01 Mar |
Mon 06 Mar |
Mon 05 Mar |
Good Friday | Fri 18 Apr |
Fri 03 Apr |
Fri 26 Mar |
Fri 14 Apr |
Fri 30 Mar |
Easter Saturday | Sat 19 Apr |
Sat 04 Apr |
Sat 27 Mar |
Sat 15 Apr |
Sat 31 Mar |
Easter Sunday | Sun 20 Apr |
Sun 05 Apr |
Sun 28 Mar |
Sun 16 Apr |
Sun 01 Apr |
Easter Monday | Mon 21 Apr |
Mon 06 Apr |
Mon 29 Mar |
Mon 17 Apr |
Mon 02 Apr |
Anzac Day | Fri 25 Apr |
Sat 25 Apr |
Sun 25 Apr |
Tue 25 Apr |
Wed 25 Apr |
Anzac Day (additional) |
Mon 27 Apr |
Mon 26 Apr |
|||
Western Australia Day | Mon 02 Jun |
Mon 01 Jun |
Mon 07 Jun |
Mon 05 Jun |
Mon 04 Jun |
King's Birthday | Mon 29 Sep |
Mon 28 Sep |
Mon 27 Sep |
Mon 25 Sep |
Mon 24 Sep |
Christmas Day | Thu 25 Dec |
Fri 25 Dec |
Sat 25 Dec |
Mon 25 Dec |
Tue 25 Dec |
Boxing Day | Fri 26 Dec |
Sat 26 Dec |
Sun 26 Dec |
Tue 26 Dec |
Wed 26 Dec |
Christmas (additional) |
Mon 28 Dec |
Mon 27 Dec Tue 28 Dec |
Wed 27 Dec Thu 28 Dec |
Thu 27 Dec Fri 28 Dec |
The above APIs are all static. This means they are not Dependency Injection or test friendly.
HolidayService
is an instance based wrapper for the above APIs that can be used in Dependency Injection and is test friendly.
All members are virtual so it can be mocked.
[Test]
public void Usage()
{
var holidayService = new HolidayService(TimeProvider.System);
var holidays = holidayService.ForYears(startYear: 2025, yearCount: 2);
foreach (var (date, state, name) in holidays)
{
Console.WriteLine($"date: {date}, state: {state}, name: {name}");
}
}
[Test]
public void DependencyInjectionUsage()
{
var services = new ServiceCollection();
services.AddSingleton<HolidayService>();
services.AddSingleton(TimeProvider.System);
services.AddTransient<ClassUsingHolidays>();
using var provider = services.BuildServiceProvider();
var service = provider.GetRequiredService<ClassUsingHolidays>();
service.WriteHolidays();
}
public class ClassUsingHolidays(HolidayService holidayService)
{
public void WriteHolidays()
{
var holidays = holidayService.ForYears(startYear: 2025, yearCount: 2);
foreach (var (date, state, name) in holidays)
{
Console.WriteLine($"date: {date}, state: {state}, name: {name}");
}
}
}
AlwaysHolidayService
treats every day as a holiday
[Test]
public void AlwaysHolidayServiceUsage()
{
var service = new AlwaysHolidayService();
var result = service.ForYears(2023, 1).ToList();
AreEqual(8 * 365, result.Count); // 8 states * 365 days
IsTrue(result.All(item => item.name == "Holiday"));
}
NeverHolidayService
treats every day as not a holiday
[Test]
public void NeverHolidayServiceUsage()
{
var service = new NeverHolidayService();
var result = service.ForYears(2023, 1).ToList();
IsEmpty(result);
var date = new Date(2020, 1, 2);
IsFalse(service.IsNswHoliday(date));
}
Australia designed by Atterratio Aeternus from The Noun Project.