note 80867 deleted from function.round by nlopess
| From: | nlopess@php.net | Date: | Thu, 07 Feb 2008 12:11:01 +0000 |
| Subject: | note 80867 deleted from function.round by nlopess | ||
| References: | 1 | Groups: | php.notes |
| Request: | Send a blank email to php-notes+get-135849@lists.php.net to get a copy of this message | ||
Note Submitter: Tom Guilleaume
----
here is a very unpolished, very bloated script to reverse a timestamp and convert it to a readable
date in two ways
function reverse_unix_timestamp($timestamp,$long_or_short){
$fouryears = '126230400';
$year = '31536000';
$leapyear = '31622400';
$day = '86400';
$hour = '3600';
$minute = '60';
$second = '1';
//9 "four years" for 2008
$yearnow = 1970;
$timeleft = $timestamp;
while ($timeleft >= $fouryears){
$timeleft = $timeleft - $fouryears;
$yearnow = $yearnow + 4;
}
//now see if its a leapyear
$lycheck = $yearnow / 4;
$lycheckr = round($yearnow / 4,0);
//if they are the same, it is a leap year and we have to add the extra day
while ($timeleft >= $leapyear){
if ($lycheck == $lycheckr){
$yearnow++;
$timeleft = $timeleft - $leapyear;
$leapyearnow = 'yes';
}else{
$yearnow++;
$timeleft = $timeleft - $year;
$leapyearnow = 'no';
}
}
//make sure there isnt enough left for just one year, and also make sure its not negative time
left.
if (($timeleft > $year) && ($timeleft < $leapyear)){
$yearnow++;
$timeleft = $timeleft - $year;
}
if ($timeleft < 0){
$date = 'Error';
}
$daynow = 0;
while ($timeleft >= $day){
$timeleft = $timeleft - $day;
$daynow++;
}
while ($timeleft >= $hour){
$timeleft = $timeleft - $hour;
$hournow++;
}
if ($hournow > 12){
$add = 'pm';
$hournow = $hournow - 12;
}else{
$add = 'am';
}
while ($timeleft >= $minute){
$timeleft = $timeleft - $minute;
$minutenow++;
}
while ($timeleft >= $second){
$timeleft = $timeleft - $second;
$secondnow++;
}
if ($timeleft != 0){
$date = 'Error2';
}
if ($leapyearnow == 'yes'){
$aod = 1;
}
if ($daynow <= 31){
$month0 = 'January';
$month1 = '1';
}elseif ($daynow <= 59 + $aod){
$month0 = 'February';
$month1 = '2';
$daynow = $daynow - 31;
}elseif ($daynow <= 90 + $aod){
$month0 = 'March';
$month1 = '3';
$daynow = $daynow - 59 + $aod;
}elseif ($daynow <= 120 + $aod){
$month0 = 'April';
$month1 = '4';
$daynow = $daynow - 90 + $aod;
}elseif ($daynow <= 151 + $aod){
$month0 = 'May';
$month1 = '5';
$daynow = $daynow - 120 + $aod;
}elseif ($daynow <= 181 + $aod){
$month0 = 'June';
$month1 = '6';
$daynow = $daynow - 151 + $aod;
}elseif ($daynow <= 212 + $aod){
$month0 = 'July';
$month1 = '7';
$daynow = $daynow - 181 + $aod;
}elseif ($daynow <= 243 + $aod){
$month0 = 'August';
$month1 = '8';
$daynow = $daynow - 212 + $aod;
}elseif ($daynow <= 273 + $aod){
$month0 = 'September';
$month1 = '9';
$daynow = $daynow - 243 + $aod;
}elseif ($daynow <= 304 + $aod){
$month0 = 'October';
$month1 = '10';
$daynow = $daynow - 273 + $aod;
}elseif ($daynow <= 334 + $aod){
$month0 = 'November';
$month1 = '11';
$daynow = $daynow - 304 + $aod;
}elseif ($daynow <= 365 + $aod){
$month0 = 'December';
$month1 = '12';
$daynow = $daynow - 334 + $aod;
}
$date1 = $month1.'.'.$daynow.'.'.$yearnow.'
'.$hournow.':'.$minutenow.':'.$secondnow.' '.$add;
$date0 = $month0.' '.$daynow.' '.$yearnow.'
'.$hournow.':'.$minutenow.':'.$secondnow.' '.$add;
if ($long_or_short != 'long'){
return $date1;
}else{
return $date0;
}
}