Exemple #1
0
 /** Format and translate datetime format
  * @param DateTime|int|null $date      Date to format. Takes current time if null.
  * @param string            $format    Format name or format directly
  * @param int               $translate 0 for no translation, 1 for standart translation, 2 for special translation
  * @return string
  */
 public function format_date($date, $format = 'std', $translate = self::TRANS_STD)
 {
     if (\System\Template::is_date($date)) {
         if (is_null($date)) {
             $date = new \DateTime();
         } elseif (is_numeric($date)) {
             $helper = new \DateTime();
             $helper->setTimestamp($date);
             $date = $helper;
         }
         $local_format = $this->trans('date-format-' . $format);
         $d = $date->format(is_null($local_format) ? $format : $local_format);
         if ($translate == self::TRANS_NONE) {
             return $d;
         } else {
             return $this->translate_date($d, $translate == self::TRANS_INF);
         }
     } else {
         throw new \System\Error\Argument(sprintf("Method format_date accepts only date type arguments. Instance of DateTime or utime number. '%s' was given.", gettype($date)));
     }
 }