function get_date($date,$timestamp=false) {
if ($timestamp==false) {
$timestamp=time();
} else {
$timestamp=round($timestamp);
}
if ($timestamp>=0) {
return date($date,$timestamp);
} else {
if ($timestamp<-62168515200) { die('This timestamp was during before the year zero there for will not be calculated'); }
//calculate negative time
$year=1970;
for ($i=-1;$i>$timestamp;) { //year loop
$year--;
for ($k=31; $k>0;$k--) { //month loop (December)
$month=12;
$day=$k;
if (($i-86400)>$timestamp) {
$i-=86400;
$l=24; $hour=24;
$m=59; $minute=59;
$n=59; $second=59;
} else {
for ($l=24; $l>0;$l--) {
$hour=$l;
for ($m=59; $m>-1;$m--) {
$minute=$m;
for ($n=59; $n>-1;$n--, $i--) {
$second=$n;
if ($i==$timestamp) { break;break;break;break;break; }
}
if ($i==$timestamp) { break;break;break;break; }
}
if ($i==$timestamp) { break;break;break; }
}
}
if ($i==$timestamp) { break;break; }
}
if ($i==$timestamp) { break; }
for ($k=30; $k>0;$k--) { //month loop (November)
$month=11;
$day=$k;
if (($i-86400)>$timestamp) {
$i-=86400;
$l=24; $hour=24;
$m=59; $minute=59;
$n=59; $second=59;
} else {
for ($l=24; $l>0;$l--) {
$hour=$l;
for ($m=59; $m>-1;$m--) {
$minute=$m;
for ($n=59; $n>-1;$n--, $i--) {
$second=$n;
if ($i==$timestamp) { break;break;break;break;break; }
}
if ($i==$timestamp) { break;break;break;break; }
}
if ($i==$timestamp) { break;break;break; }
}
}
if ($i==$timestamp) { break;break; }
}
if ($i==$timestamp) { break; }
for ($k=31; $k>0;$k--) { //month loop (October)
$month=10;
$day=$k;
if (($i-86400)>$timestamp) {
$i-=86400;
$l=24; $hour=24;
$m=59; $minute=59;
$n=59; $second=59;
} else {
for ($l=24; $l>0;$l--) {
$hour=$l;
for ($m=59; $m>-1;$m--) {
$minute=$m;
for ($n=59; $n>-1;$n--, $i--) {
$second=$n;
if ($i==$timestamp) { break;break;break;break;break; }
}
if ($i==$timestamp) { break;break;break;break; }
}
if ($i==$timestamp) { break;break;break; }
}
}
if ($i==$timestamp) { break;break; }
}
if ($i==$timestamp) { break; }
for ($k=30; $k>0;$k--) { //month loop (September)
$month=9;
$day=$k;
if (($i-86400)>$timestamp) {
$i-=86400;
$l=24; $hour=24;
$m=59; $minute=59;
$n=59; $second=59;
} else {
for ($l=24; $l>0;$l--) {
$hour=$l;
for ($m=59; $m>-1;$m--) {
$minute=$m;
for ($n=59; $n>-1;$n--, $i--) {
$second=$n;
if ($i==$timestamp) { break;break;break;break;break; }
}
if ($i==$timestamp) { break;break;break;break; }
}
if ($i==$timestamp) { break;break;break; }
}
}
if ($i==$timestamp) { break;break; }
}
if ($i==$timestamp) { break; }
for ($k=31; $k>0;$k--) { //month loop (August)
$month=8;
$day=$k;
if (($i-86400)>$timestamp) {
$i-=86400;
$l=24; $hour=24;
$m=59; $minute=59;
$n=59; $second=59;
} else {
for ($l=24; $l>0;$l--) {
$hour=$l;
for ($m=59; $m>-1;$m--) {
$minute=$m;
for ($n=59; $n>-1;$n--, $i--) {
$second=$n;
if ($i==$timestamp) { break;break;break;break;break; }
}
if ($i==$timestamp) { break;break;break;break; }
}
if ($i==$timestamp) { break;break;break; }
}
}
if ($i==$timestamp) { break;break; }
}
if ($i==$timestamp) { break; }
for ($k=31; $k>0;$k--) { //month loop (July)
$month=7;
$day=$k;
if (($i-86400)>$timestamp) {
$i-=86400;
$l=24; $hour=24;
$m=59; $minute=59;
$n=59; $second=59;
} else {
for ($l=24; $l>0;$l--) {
$hour=$l;
for ($m=59; $m>-1;$m--) {
$minute=$m;
for ($n=59; $n>-1;$n--, $i--) {
$second=$n;
if ($i==$timestamp) { break;break;break;break;break; }
}
if ($i==$timestamp) { break;break;break;break; }
}
if ($i==$timestamp) { break;break;break; }
}
}
if ($i==$timestamp) { break;break; }
}
if ($i==$timestamp) { break; }
for ($k=30; $k>0;$k--) { //month loop (June)
$month=6;
$day=$k;
if (($i-86400)>$timestamp) {
$i-=86400;
$l=24; $hour=24;
$m=59; $minute=59;
$n=59; $second=59;
} else {
for ($l=24; $l>0;$l--) {
$hour=$l;
for ($m=59; $m>-1;$m--) {
$minute=$m;
for ($n=59; $n>-1;$n--, $i--) {
$second=$n;
if ($i==$timestamp) { break;break;break;break;break; }
}
if ($i==$timestamp) { break;break;break;break; }
}
if ($i==$timestamp) { break;break;break; }
}
}
if ($i==$timestamp) { break;break; }
}
if ($i==$timestamp) { break; }
for ($k=31; $k>0;$k--) { //month loop (May)
$month=5;
$day=$k;
if (($i-86400)>$timestamp) {
$i-=86400;
$l=24; $hour=24;
$m=59; $minute=59;
$n=59; $second=59;
} else {
for ($l=24; $l>0;$l--) {
$hour=$l;
for ($m=59; $m>-1;$m--) {
$minute=$m;
for ($n=59; $n>-1;$n--, $i--) {
$second=$n;
if ($i==$timestamp) { break;break;break;break;break; }
}
if ($i==$timestamp) { break;break;break;break; }
}
if ($i==$timestamp) { break;break;break; }
}
}
if ($i==$timestamp) { break;break; }
}
if ($i==$timestamp) { break; }
for ($k=30; $k>0;$k--) { //month loop (April)
$month=4;
$day=$k;
if (($i-86400)>$timestamp) {
$i-=86400;
$l=24; $hour=24;
$m=59; $minute=59;
$n=59; $second=59;
} else {
for ($l=24; $l>0;$l--) {
$hour=$l;
for ($m=59; $m>-1;$m--) {
$minute=$m;
for ($n=59; $n>-1;$n--, $i--) {
$second=$n;
if ($i==$timestamp) { break;break;break;break;break; }
}
if ($i==$timestamp) { break;break;break;break; }
}
if ($i==$timestamp) { break;break;break; }
}
}
if ($i==$timestamp) { break;break; }
}
if ($i==$timestamp) { break; }
for ($k=31; $k>0;$k--) { //month loop (March)
$month=3;
$day=$k;
if (($i-86400)>$timestamp) {
$i-=86400;
$l=24; $hour=24;
$m=59; $minute=59;
$n=59; $second=59;
} else {
for ($l=24; $l>0;$l--) {
$hour=$l;
for ($m=59; $m>-1;$m--) {
$minute=$m;
for ($n=59; $n>-1;$n--, $i--) {
$second=$n;
if ($i==$timestamp) { break;break;break;break;break; }
}
if ($i==$timestamp) { break;break;break;break; }
}
if ($i==$timestamp) { break;break;break; }
}
}
if ($i==$timestamp) { break;break; }
}
if ($i==$timestamp) { break; }
if (round((1972-$year)/4)==((1972-$year)/4)) {
$j=29;
} else {
$j=28;
}
for ($k=$j; $k>0;$k--) { //month loop (February)
$month=2;
$day=$k;
if (($i-86400)>$timestamp) {
$i-=86400;
$l=24; $hour=24;
$m=59; $minute=59;
$n=59; $second=59;
} else {
for ($l=24; $l>0;$l--) {
$hour=$l;
for ($m=59; $m>-1;$m--) {
$minute=$m;
for ($n=59; $n>-1;$n--, $i--) {
$second=$n;
if ($i==$timestamp) { break;break;break;break;break; }
}
if ($i==$timestamp) { break;break;break;break; }
}
if ($i==$timestamp) { break;break;break; }
}
}
if ($i==$timestamp) { break;break; }
}
if ($i==$timestamp) { break; }
for ($k=31; $k>0;$k--) { //month loop (January)
$month=1;
$day=$k;
if (($i-86400)>$timestamp) {
$i-=86400;
$l=24; $hour=24;
$m=59; $minute=59;
$n=59; $second=59;
} else {
for ($l=24; $l>0;$l--) {
$hour=$l;
for ($m=59; $m>-1;$m--) {
$minute=$m;
for ($n=59; $n>-1;$n--, $i--) {
$second=$n;
if ($i==$timestamp) { break;break;break;break;break; }
}
if ($i==$timestamp) { break;break;break;break; }
}
if ($i==$timestamp) { break;break;break; }
}
}
if ($i==$timestamp) { break;break; }
}
if ($i==$timestamp) { break; }
}
}
if ($hour>12) {
$ampm='PM';
$pmam='pm';
} else {
$ampm='AM';
$pmam='am';
}
if ($hour>12) {
$hr=$hour-12;
} else {
$hr=$hour;
}
if ($second<10) {
$second='0'.$second;
}
if ($minute<10) {
$minute='0'.$minute;
}
return str_replace(array('Y','n','j','H','h','i','s','a','A'),array($year,$month,$day,$hour,$hr,$minute,$second,$pmam,$ampm),$date);
}
//now to use it.
echo get_date('Y-n-j.....h:i:s A',-172800);
?>