Cannot believe you have to do extensive search on google for this. Ended up writing myself.
$this_week_fr = mktime(0, 0, 0, date('n'), date('j'), date('Y')) - ((date('N')-1)*3600*24);
$last_week_fr = mktime(0, 0, 0, date('n'), date('j')-6, date('Y')) - (date('N')*3600*24);
$last_week_to = mktime(24,0, 0, date('n'), date('j'), date('Y')) - (date('N')*3600*24)-86400;
$this_month_fr = mktime(0, 0, 0, date('n'), 1, date('Y'));
$last_month_fr = mktime(0, 0, 0, date('n')-1, 1, date('Y'));
$last_month_to = mktime(0, 0, 0, date('n'), 0, date('Y'));