aboutsummaryrefslogtreecommitdiffstats
path: root/vendor/smarty/smarty/docs/designers/language-modifiers/language-modifier-date-format.md
diff options
context:
space:
mode:
Diffstat (limited to 'vendor/smarty/smarty/docs/designers/language-modifiers/language-modifier-date-format.md')
-rw-r--r--vendor/smarty/smarty/docs/designers/language-modifiers/language-modifier-date-format.md175
1 files changed, 175 insertions, 0 deletions
diff --git a/vendor/smarty/smarty/docs/designers/language-modifiers/language-modifier-date-format.md b/vendor/smarty/smarty/docs/designers/language-modifiers/language-modifier-date-format.md
new file mode 100644
index 000000000..edd81937b
--- /dev/null
+++ b/vendor/smarty/smarty/docs/designers/language-modifiers/language-modifier-date-format.md
@@ -0,0 +1,175 @@
+date\_format {#language.modifier.date.format}
+============
+
+This formats a date and time into the given
+[`strftime()`](&url.php-manual;strftime) format. Dates can be passed to
+Smarty as unix [timestamps](&url.php-manual;function.time), [DateTime
+objects](&url.php-manual;class.DateTime), mysql timestamps or any string
+made up of month day year, parsable by php\'s
+[`strtotime()`](&url.php-manual;strtotime). Designers can then use
+`date_format` to have complete control of the formatting of the date. If
+the date passed to `date_format` is empty and a second parameter is
+passed, that will be used as the date to format.
+
+ Parameter Position Type Required Default Description
+ -------------------- -------- ---------- ------------ -------------------------------------------------
+ 1 string No \%b %e, %Y This is the format for the outputted date.
+ 2 string No n/a This is the default date if the input is empty.
+
+> **Note**
+>
+> Since Smarty-2.6.10 numeric values passed to `date_format` are
+> *always* (except for mysql timestamps, see below) interpreted as a
+> unix timestamp.
+>
+> Before Smarty-2.6.10 numeric strings that where also parsable by
+> `strtotime()` in php (like `YYYYMMDD`) where sometimes (depending on
+> the underlying implementation of `strtotime()`) interpreted as date
+> strings and NOT as timestamps.
+>
+> The only exception are mysql timestamps: They are also numeric only
+> and 14 characters long (`YYYYMMDDHHMMSS`), mysql timestamps have
+> precedence over unix timestamps.
+
+> **Note**
+>
+> `date_format` is essentially a wrapper to PHP\'s
+> [`strftime()`](&url.php-manual;strftime) function. You may have more
+> or less conversion specifiers available depending on your system\'s
+> [`strftime()`](&url.php-manual;strftime) function where PHP was
+> compiled. Check your system\'s manpage for a full list of valid
+> specifiers. However, a few of the specifiers are emulated on Windows.
+> These are: %D, %e, %h, %l, %n, %r, %R, %t, %T.
+
+
+ <?php
+
+ $config['date'] = '%I:%M %p';
+ $config['time'] = '%H:%M:%S';
+ $smarty->assign('config', $config);
+ $smarty->assign('yesterday', strtotime('-1 day'));
+
+ ?>
+
+
+
+This template uses [`$smarty.now`](#language.variables.smarty.now) to
+get the current time:
+
+
+ {$smarty.now|date_format}
+ {$smarty.now|date_format:"%D"}
+ {$smarty.now|date_format:$config.date}
+ {$yesterday|date_format}
+ {$yesterday|date_format:"%A, %B %e, %Y"}
+ {$yesterday|date_format:$config.time}
+
+
+
+This above will output:
+
+
+ Jan 1, 2022
+ 01/01/22
+ 02:33 pm
+ Dec 31, 2021
+ Monday, December 1, 2021
+ 14:33:00
+
+
+
+`date_format` conversion specifiers:
+
+- \%a - abbreviated weekday name according to the current locale
+
+- \%A - full weekday name according to the current locale
+
+- \%b - abbreviated month name according to the current locale
+
+- \%B - full month name according to the current locale
+
+- \%c - preferred date and time representation for the current locale
+
+- \%C - century number (the year divided by 100 and truncated to an
+ integer, range 00 to 99)
+
+- \%d - day of the month as a decimal number (range 01 to 31)
+
+- \%D - same as %m/%d/%y
+
+- \%e - day of the month as a decimal number, a single digit is
+ preceded by a space (range 1 to 31)
+
+- \%g - Week-based year within century \[00,99\]
+
+- \%G - Week-based year, including the century \[0000,9999\]
+
+- \%h - same as %b
+
+- \%H - hour as a decimal number using a 24-hour clock (range 00
+ to 23)
+
+- \%I - hour as a decimal number using a 12-hour clock (range 01
+ to 12)
+
+- \%j - day of the year as a decimal number (range 001 to 366)
+
+- \%k - Hour (24-hour clock) single digits are preceded by a blank.
+ (range 0 to 23)
+
+- \%l - hour as a decimal number using a 12-hour clock, single digits
+ preceded by a space (range 1 to 12)
+
+- \%m - month as a decimal number (range 01 to 12)
+
+- \%M - minute as a decimal number
+
+- \%n - newline character
+
+- \%p - either \`am\' or \`pm\' according to the given time value, or
+ the corresponding strings for the current locale
+
+- \%r - time in a.m. and p.m. notation
+
+- \%R - time in 24 hour notation
+
+- \%S - second as a decimal number
+
+- \%t - tab character
+
+- \%T - current time, equal to %H:%M:%S
+
+- \%u - weekday as a decimal number \[1,7\], with 1 representing
+ Monday
+
+- \%U - week number of the current year as a decimal number, starting
+ with the first Sunday as the first day of the first week
+
+- \%V - The ISO 8601:1988 week number of the current year as a decimal
+ number, range 01 to 53, where week 1 is the first week that has at
+ least 4 days in the current year, and with Monday as the first day
+ of the week.
+
+- \%w - day of the week as a decimal, Sunday being 0
+
+- \%W - week number of the current year as a decimal number, starting
+ with the first Monday as the first day of the first week
+
+- \%x - preferred date representation for the current locale without
+ the time
+
+- \%X - preferred time representation for the current locale without
+ the date
+
+- \%y - year as a decimal number without a century (range 00 to 99)
+
+- \%Y - year as a decimal number including the century
+
+- \%Z - time zone or name or abbreviation
+
+- \%% - a literal \`%\' character
+
+See also [`$smarty.now`](#language.variables.smarty.now),
+[`strftime()`](&url.php-manual;strftime),
+[`{html_select_date}`](#language.function.html.select.date) and the
+[date tips](#tips.dates) page.