I am currently working on our church website and we have discovered an interesting issue. Our church services changes based on which week the sunday falls under.
Example:
- Church is at 10am and 5pm
- Church is at 2pm and no evening service
- Church is at 10am and 5pm
- if last sunday of month then 10am and no evening service else 10am and 5pm
- Church is at 10am and no evening service
So how do you figure out how to do this?
PHP has a great function called strtotime. It will take plain english and return a unix timestamp. You then take that date and get it’s week number and divide by 7 and take the ceiling and …. let me just show you the code.
try { $nextSunday = strtotime("next sunday"); $wn = ceil( date( 'j', $nextSunday) / 7 ); $ldom = mktime(0, 0, 0, (date('m') + 1), 0, date('Y')); $diff = round(abs($nextSunday-$ldom)/86400); switch ($wn) { case 1: echo "First Sunday"; break; case 2: echo "Second Sunday"; break; case 3: echo "Third Sunday"; break; case 4: if (diff>=7){ echo "Fourth Sunday"; }else { echo "Last Sunday"; } break; case 5: echo "Last Sunday"; break; } echo "<br />"; } catch(Exception $e) { echo($e); }
See that makes sense right? Ok it took me a little bit too. Next post I hope to show how to wrap this into a wordpress widget.
Happy Coding