i'm attempting to create a script for easily calculating the southern hemisphere equivalent of shrove tuesday.

the date of ash wednesday is determined by counting backwards from the date of easter. shrove tuesday is the day before ash wedesday. there are many programs and web scripts that will easily let you determine the date of easter, but the problem with these is that they are all based upon northern hemisphere traditions. since historical evidence strongly suggests that easter came to be named and scheduled as it is due to already existing pagan customs celebrating the coming spring during Eostur-monath (april), it makes sense to adjust these dates to account for the differing seasons in the southern hemisphere.

i'm keeping my calculations simple and using the basic rule given by bede for the date of easter: The Sunday following the full Moon which falls on or after the equinox will give the lawful Easter. the churchy folks in the northern hemisphere actually make it a lot more complex than that because they decided that the vernal (spring) equinox should be considered to always be on march 21st (when it can actually fall on the 20th, 21st or 22nd of march) and their "paschal full moon" does not even necessarily fall on the day of a true full moon. you can read all about that on wikipedia, if you're so inclined.

so my 'formula' for working this out goes along these lines:

start at: spring equinox(southern hemisphere seasons)determine: full moonthat occurs either on or after the date of the equinoxdetermine: sundayafter the full moonthis is our southern hemisphere "easter"count back: 46 daysthis is forty days if you exclude the sundays.. which you dothis is the date of ash wednesday, the first day of lentcount back: 1 daythis is shrove tuesday. let's eat pancakes!

the actual dates

i'm still working on this bit. i'm using the Astro_MoonPhase class to calculate the full moon after the equinox and from there it's easy enough to use native php functions to count the days backwards.

unfortunately i haven't yet found a way of automatically calculating the date of the equinox (that i can understand), which would mean the calculations could be astronomically correct depending on your location/timezone. so for the moment i'm manually entering the equinox date and it's based on brisbane, qld, australia; and that's why there are only a few year's worth of dates.

2014
Vernal equinox is on September 23rd at 12:29
Full moon is on October 8th (Wednesday)
Easter is on October 12th (Sunday)
Ash Wednesday is on August 27th
Shrove Tuesday is on August 26th 2014

2015
Vernal equinox is on September 23rd at 18:20
Full moon is on September 28th (Monday)
Easter is on October 4th (Sunday)
Ash Wednesday is on August 19th
Shrove Tuesday is on August 18th 2015

2016
Vernal equinox is on September 23rd at 00:21
Full moon is on October 16th (Sunday)
Easter is on October 23rd (Sunday)
Ash Wednesday is on September 7th
Shrove Tuesday is on September 6th 2016

2017
Vernal equinox is on September 23rd at 06:02
Full moon is on October 5th (Thursday)
Easter is on October 8th (Sunday)
Ash Wednesday is on August 23rd
Shrove Tuesday is on August 22nd 2017

2018
Vernal equinox is on September 23rd at 11:54
Full moon is on September 25th (Tuesday)
Easter is on September 30th (Sunday)
Ash Wednesday is on August 15th
Shrove Tuesday is on August 14th 2018

2019
Vernal equinox is on September 23rd at 17:50
Full moon is on October 13th (Sunday)
Easter is on October 20th (Sunday)
Ash Wednesday is on September 4th
Shrove Tuesday is on September 3rd 2019

2020
Vernal equinox is on September 22nd at 23:31
Full moon is on October 1st (Thursday)
Easter is on October 4th (Sunday)
Ash Wednesday is on August 19th
Shrove Tuesday is on August 18th 2020

2021
Vernal equinox is on September 23rd at 05:21
Full moon is on October 20th (Wednesday)
Easter is on October 24th (Sunday)
Ash Wednesday is on September 8th
Shrove Tuesday is on September 7th 2021

2022
Vernal equinox is on September 23rd at 11:04
Full moon is on October 9th (Sunday)
Easter is on October 16th (Sunday)
Ash Wednesday is on August 31st
Shrove Tuesday is on August 30th 2022

2023
Vernal equinox is on September 23rd at 16:50
Full moon is on September 29th (Friday)
Easter is on October 1st (Sunday)
Ash Wednesday is on August 16th
Shrove Tuesday is on August 15th 2023

2024
Vernal equinox is on September 22nd at 22:44
Full moon is on October 17th (Thursday)
Easter is on October 20th (Sunday)
Ash Wednesday is on September 4th
Shrove Tuesday is on September 3rd 2024