diff options
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.md | 206 |
1 files changed, 88 insertions, 118 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 index edd81937b..620d085b8 100644 --- 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 @@ -1,20 +1,26 @@ -date\_format {#language.modifier.date.format} -============ +# 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 +[`strftime()`](https://www.php.net/strftime) format. Dates can be passed to +Smarty as unix [timestamps](https://www.php.net/function.time), [DateTime +objects](https://www.php.net/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 +[`strtotime()`](https://www.php.net/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. +## Basic usage +```smarty +{$myVar|date_format:"%Y-%m-%d"} +``` + +## Parameters + +| 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** > @@ -33,143 +39,107 @@ passed, that will be used as the date to format. > **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 +> `date_format` is essentially a wrapper to PHP's +> [`strftime()`](https://www.php.net/strftime) function. You may have more +> or less conversion specifiers available depending on your system's +> [`strftime()`](https://www.php.net/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. +## Examples - <?php - - $config['date'] = '%I:%M %p'; - $config['time'] = '%H:%M:%S'; - $smarty->assign('config', $config); - $smarty->assign('yesterday', strtotime('-1 day')); +```php +<?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 +This template uses [`$smarty.now`](../language-variables/language-variables-smarty.md#smartynow-languagevariablessmartynow) 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} - - +```smarty +{$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 - +``` +Jan 1, 2022 +01/01/22 +02:33 pm +Dec 31, 2021 +Monday, December 1, 2021 +14:33:00 +``` +## Conversion specifiers `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 +- %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 +- %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 +- %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 +- %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. +- %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 +- %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 +- %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 +- %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 +- %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 +- %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 +- %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 +- %x - preferred date representation for the current locale without the time - -- \%X - preferred time representation for the current locale without +- %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. +- %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/language-variables-smarty.md#smartynow-languagevariablessmartynow), +[`strftime()`](https://www.php.net/strftime), +[`{html_select_date}`](../language-custom-functions/language-function-html-select-date.md) and the +[date tips](../../appendixes/tips.md#dates) page. |