Example #1
0
 /**
  * Convert a unix timestamp into a formatted date-time value, for logs, etc.
  * Don't attempt to convert into other calendars, as not all days start at
  * midnight, and we can only get it wrong.
  *
  * @param int $time
  *
  * @return string
  */
 public static function formatTimestamp($time)
 {
     $time_fmt = I18N::timeFormat();
     // PHP::date() doesn't do I18N. Do it ourselves....
     preg_match_all('/%[^%]/', $time_fmt, $matches);
     foreach ($matches[0] as $match) {
         switch ($match) {
             case '%a':
                 $t = gmdate('His', $time);
                 if ($t == '000000') {
                     $time_fmt = str_replace($match, I18N::translate('midnight'), $time_fmt);
                 } elseif ($t < '120000') {
                     $time_fmt = str_replace($match, I18N::translate('a.m.'), $time_fmt);
                 } elseif ($t == '120000') {
                     $time_fmt = str_replace($match, I18N::translate('noon'), $time_fmt);
                 } else {
                     $time_fmt = str_replace($match, I18N::translate('p.m.'), $time_fmt);
                 }
                 break;
             case '%A':
                 $t = gmdate('His', $time);
                 if ($t == '000000') {
                     $time_fmt = str_replace($match, I18N::translate('Midnight'), $time_fmt);
                 } elseif ($t < '120000') {
                     $time_fmt = str_replace($match, I18N::translate('A.M.'), $time_fmt);
                 } elseif ($t == '120000') {
                     $time_fmt = str_replace($match, I18N::translate('Noon'), $time_fmt);
                 } else {
                     $time_fmt = str_replace($match, I18N::translate('P.M.'), $time_fmt);
                 }
                 break;
             default:
                 $time_fmt = str_replace($match, I18N::digits(gmdate(substr($match, -1), $time)), $time_fmt);
         }
     }
     return self::timestampToGedcomDate($time)->display() . '<span class="date"> - ' . $time_fmt . '</span>';
 }
Example #2
0
 /**
  * What is the client's timestamp.
  *
  * @return string
  */
 public function browserTime()
 {
     return date(str_replace('%', '', I18N::timeFormat()), WT_TIMESTAMP + WT_TIMESTAMP_OFFSET);
 }