- 01
- 02
- 03
- 04
- 05
- 06
- 07
- 08
- 09
- 10
- 11
- 12
- 13
- 14
$y=date("Y"); $m=date("n"); $d=date("d");
if($d>1) {$d1=$d-1; $m1=$m; $y1=$y;}
if($d==1 && $m>1) {$d1=date('t',mktime(0, 0, 0, $m-1, 1, $y)); $m1=$m-1; $y1=$y;}
if($d==1 && $m==1) {$d1=date('t',mktime(0, 0, 0, 12, 1, $y)); $m1=12; $y1=$y-1;}
echo "Вчера - $d1.$m1.$y1";
if($d>2) {$d2=$d-2; $m2=$m; $y2=$y;}
if($d==2 && $m>1) {$d2=date('t',mktime(0, 0, 0, $m-1, 1, $y)); $m2=$m-1; $y2=$y;}
if($d==2 && $m==1) {$d2=31; $m2=12; $y2=$y-1;}
if($d==1 && $m>1) {$d2=date('t',mktime(0, 0, 0, $m-1, 1, $y))-1; $m2=$m-1; $y2=$y;}
if($d==1 && $m==1) {$d2=30; $m2=12; $y2=$y-1;}
echo "Позавчера - $d2.$m2.$y2";
Решение в лоб - зато полностью рабочее. Обнаружил в собственном проекте (вполне действующем).