summaryrefslogtreecommitdiff
path: root/it.class
diff options
context:
space:
mode:
authorChristian Schneider2007-10-01 18:14:00 +0000
committerChristian Schneider2007-10-01 18:14:00 +0000
commitbbaf65234fc69effce584b6e6b89173693ad907a (patch)
tree6f6d0173fa5db1b3f9868e41afd6fcd074a3c34f /it.class
parente11cbb4456fcd49f4375982a962c72ff10b80934 (diff)
downloaditools-bbaf65234fc69effce584b6e6b89173693ad907a.tar.gz
itools-bbaf65234fc69effce584b6e6b89173693ad907a.tar.bz2
itools-bbaf65234fc69effce584b6e6b89173693ad907a.zip
Added it::date() (and made it_text silent when texts.php is missing)
Diffstat (limited to 'it.class')
-rw-r--r--it.class33
1 files changed, 33 insertions, 0 deletions
diff --git a/it.class b/it.class
index 3db36c1..952da9e 100644
--- a/it.class
+++ b/it.class
@@ -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);
+}
+
}
?>