httpwebwitch - 3:55 pm on Jul 8, 2011 (gmt 0)
if you define time as "server time" in Unix seconds, then all the time zone and daylight saving stuff doesn't apply.
get the current Unix time.
$now = time();
define the number of seconds in a week
$seconds_per_week = 10080 * 60;
define an "origin point" which is some Monday midnight some time in the past.
$old_monday = 946944000;
number of seconds since that origin point:
$elapsed = $now - $old_monday;
Use a modulo to get the remainder when you subtract all those weeks gone by
$this_week_elapsed = $elapsed % $seconds_per_week;
and that's the number of seconds that have elapsed since Monday.
You can take it from there