diff options
Diffstat (limited to 'it.class')
-rw-r--r-- | it.class | 33 |
1 files changed, 33 insertions, 0 deletions
@@ -531,6 +531,39 @@ function gets() return $result; } +/** + * Output formatted and localized date + * @param format optional format (default is 2007-01-02 03:04:05). + * Other formats are "date", "datetime", "time". + * Formats can be qualified with language, e.g. "date:en" + * @param stamp optional unix timestamp (default is now). + * If it contains nondigits, it is fed to strtotime + */ +function date($format = "", $stamp = null) +{ + list($name, $language) = explode(":", $format); + + if ($format && !$language) + $language = T_lang(); + + $formats = array( + "" => "Y-m-d H:i:s", + "date" => "d.m.Y", + "datetime" => "d.m.Y H:i", + "time" => "H:i", + "date:en" => "m/d/Y", + "datetime:en" => "m/d/Y h:ia", + "time:en" => "h:ia", + ); + + if (!($formatstring = $formats["$name:$language"]) && !($formatstring = $formats[$name])) + $formatstring = $format; + + $stamp = !isset($stamp) ? time() : (it::match('^\d+$', $stamp) ? $stamp : strtotime($stamp)); + + return date($formatstring, $stamp); +} + } ?> |