Advertisement
Guest User

Untitled

a guest
Aug 10th, 2011
384
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
PHP 2.28 KB | None | 0 0
  1. <?php
  2. function timeToDate($pattern, $time) {
  3.    
  4.     $remain = $time; $leapYear = 1; $sub = 0; $yearCounter = 0;
  5.    
  6.     for($i = 0; $i < $time - $sub;) {
  7.         ($leapYear > 0 && $leapYear < 4) ? $sub = "31622400" : $sub = "31536000";
  8.         if($i == 0) {
  9.             $i += 31536000;
  10.             $remain -= 31536000;
  11.         } else {
  12.             if($leapYear > 0 && $leapYear < 4) {
  13.                 $i += 31536000;
  14.                 $leapYear++;
  15.                 $remain -= 31536000;
  16.             } else {
  17.                 $i += 31622400;
  18.                 $leapYear = 1;
  19.                 $remain -= 31622400;
  20.             }
  21.         }
  22.         if($time > 31536000) $yearCounter++;
  23.     }
  24.     $year = 1970 + $yearCounter;
  25.    
  26.     ($leapYear > 0 && $leapYear < 4) ? $sub = "86400" : $sub = "0";
  27.     if($remain <= 2678400) { $month = "01"; $remain -= "0"; }
  28.     else if($remain <= 5097600 + $sub) { $month = "02"; $remain -= "2678400"; }
  29.     else if($remain <= 7776000 + $sub) { $month = "03"; $remain -= "5097600"; }
  30.     else if($remain <= 10368000 + $sub) { $month = "04"; $remain -= "7776000"; }
  31.     else if($remain <= 13046400 + $sub) { $month = "05"; $remain -= "10368000"; }
  32.     else if($remain <= 15638400 + $sub) { $month = "06"; $remain -= "13046400"; }
  33.     else if($remain <= 18316800 + $sub) { $month = "07"; $remain -= "15638400"; }
  34.     else if($remain <= 20995200 + $sub) { $month = "08"; $remain -= "18316800"; }
  35.     else if($remain <= 23587200 + $sub) { $month = "09"; $remain -= "20995200"; }
  36.     else if($remain <= 26265600 + $sub) { $month = "10"; $remain -= "23587200"; }
  37.     else if($remain <= 28857600 + $sub) { $month = "11"; $remain -= "26265600"; }
  38.     else if($remain <= 31536000 + $sub) { $month = "12"; $remain -= "28857600"; }
  39.  
  40.     $day = floor($remain / 86400);
  41.     $remain -= ($day * 86400);
  42.    
  43.     $hour = floor($remain / 3600);
  44.     $remain -= ($hour * 3600);
  45.     $hour = money_format('%=0(#2.0n', $hour);
  46.    
  47.     $minute = floor($remain / 60);
  48.     $remain -= ($minute * 60);
  49.     $minute = money_format('%=0(#2.0n', $minute);
  50.    
  51.     $second = $remain;
  52.     $second = money_format('%=0(#2.0n', $second);
  53.    
  54.     $pattern = preg_replace("/%d/", $day+1, $pattern);
  55.     $pattern = preg_replace("/%m/", $month, $pattern);
  56.     $pattern = preg_replace("/%y/", $year, $pattern);
  57.     $pattern = preg_replace("/%h/", $hour, $pattern);
  58.     $pattern = preg_replace("/%i/", $minute, $pattern);
  59.     $pattern = preg_replace("/%s/", $second, $pattern);
  60.    
  61.     return $pattern;
  62. }
  63.  
  64.  
  65. echo timeToDate("%d-%m-%y %h:%i:%s", time());
  66. ?>
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement