This article mainly introduces the detailed usage of the php strftime function. The strftime() function formats the local time/date according to the regional settings. Generally, it can be used for time formatting. Friends who need it can refer to it
Definition and Usage
strftime() function formats local time/date according to locale settings.
Syntax
strftime(format,timestamp) Parameter Description
format is optional. Specifies how results are returned.
timestamp Optional.
Tips and Notes
Tip: Same behavior as gmstrftime(), except that the returned time is local time.
Example
Output the results of strftime() and gmstrftime():
strftime The () function can convert date strings in the YYYY-MM-DD HH:MM:SS format into other forms of strings.
The syntax of strftime() is strftime(format, date/time, modifier, modifier, ...)
It can format dates and times with the following symbols:
这个参数的最大长度是 1023 个字符。
Warning
尽管 ISO 9889:1999(当前的 C 标准)明确指出一周从星期一开始,但是 Sun Solaris 的一周似乎从星期天开始并作为 1。所以 %u 的结果也许不会和手册里描述得一样。
Warning
仅针对 Windows:这个函数里 %e 修饰符修饰符还不能支持 Windows。 为了得到这个值可以用 %#d 修饰符来代替。下例说明了如何写一个跨平台支持的函数。
Warning
仅针对 Mac OS X:这个函数里 %P 修饰符还不能支持 Mac OS X。
timestamp
可选的 timestamp 参数是一个 integer 的 Unix 时间戳,如未指定,参数值默认为当前本地时间。也就是说,其值默认为 time() 的返回值。
strftime()的用法举例如下:
select strftime('%Y.%m.%d %H:%M:%S','now','localtime');
结果:2018.06.21 21:41:09
其实更好的用法是这样的,比如统,本月或本年的支出:
select strftime('%Y-%m',日期) as 月份,sum(支出) as 月支出 from 流水帐 group by 月份;
Example #1 strftime() locale examples
Example #2 ISO 8601:1988 week number example
Example #3 Cross platform compatible example using the %e modifier
Example #4 Display all known and unknown formats.
'A full textual representation of the day', 'B' => 'Full month name, based on the locale', 'C' => 'Two digit representation of the century (year pided by 100, truncated to an integer)', 'D' => 'Same as "%m/%d/%y"', 'E' => '', 'F' => 'Same as "%Y-%m-%d"', 'G' => 'The full four-digit version of %g', 'H' => 'Two digit representation of the hour in 24-hour format', 'I' => 'Two digit representation of the hour in 12-hour format', 'J' => '', 'K' => '', 'L' => '', 'M' => 'Two digit representation of the minute', 'N' => '', 'O' => '', 'P' => 'lower-case "am" or "pm" based on the given time', 'Q' => '', 'R' => 'Same as "%H:%M"', 'S' => 'Two digit representation of the second', 'T' => 'Same as "%H:%M:%S"', 'U' => 'Week number of the given year, starting with the first Sunday as the first week', 'V' => 'ISO-8601:1988 week number of the given year, starting with the first week of the year with at least 4 weekdays, with Monday being the start of the week', 'W' => 'A numeric representation of the week of the year, starting with the first Monday as the first week', 'X' => 'Preferred time representation based on locale, without the date', 'Y' => 'Four digit representation for the year', 'Z' => 'The time zone offset/abbreviation option NOT given by %z (depends on operating system)', 'a' => 'An abbreviated textual representation of the day', 'b' => 'Abbreviated month name, based on the locale', 'c' => 'Preferred date and time stamp based on local', 'd' => 'Two-digit day of the month (with leading zeros)', 'e' => 'Day of the month, with a space preceding single digits', 'f' => '', 'g' => 'Two digit representation of the year going by ISO-8601:1988 standards (see %V)', 'h' => 'Abbreviated month name, based on the locale (an alias of %b)', 'i' => '', 'j' => 'Day of the year, 3 digits with leading zeros', 'k' => 'Hour in 24-hour format, with a space preceding single digits', 'l' => 'Hour in 12-hour format, with a space preceding single digits', 'm' => 'Two digit representation of the month', 'n' => 'A newline character ("\n")', 'o' => '', 'p' => 'UPPER-CASE "AM" or "PM" based on the given time', 'q' => '', 'r' => 'Same as "%I:%M:%S %p"', 's' => 'Unix Epoch Time timestamp', 't' => 'A Tab character ("\t")', 'u' => 'ISO-8601 numeric representation of the day of the week', 'v' => '', 'w' => 'Numeric representation of the day of the week', 'x' => 'Preferred date representation based on locale, without the time', 'y' => 'Two digit representation of the year', 'z' => 'Either the time zone offset from UTC or the abbreviation (depends on operating system)', '%' => 'A literal percentage character ("%")', ); // Results. $strftimeValues = array(); // Evaluate the formats whilst suppressing any errors. foreach($strftimeFormats as $format => $description){ if (False !== ($value = @strftime("%{$format}"))){ $strftimeValues[$format] = $value; } } // Find the longest value. $maxValueLength = 2 + max(array_map('strlen', $strftimeValues)); // Report known formats. foreach($strftimeValues as $format => $value){ echo "Known format : '{$format}' = ", str_pad("'{$value}'", $maxValueLength), " ( {$strftimeFormats[$format]} )\n"; } // Report unknown formats. foreach(array_diff_key($strftimeFormats, $strftimeValues) as $format => $description){ echo "Unknown format : '{$format}' ", str_pad(' ', $maxValueLength), ($description ? " ( {$description} )" : ''), "\n"; } ?>
下面是其他网友的补充
php strftime()的使用
string strftime ( string format[,inttimestamp = time() ] )
返回用给定的格式字串对给出的 timestamp 进行格式输出后的字符串。如果没有给出时间戳则用当前的本地时间。
Example1:
本年中的第·31·周
Example2:
現在時間是:20.July 2015 17:01:26
Example3:
日期時間格式化為:15.October 2018 00:00:00
以上就是本文的全部内容,希望对大家的学习有所帮助,更多相关内容请关注PHP中文网!
相关推荐:
The above is the detailed content of How to use strftime function in php. For more information, please follow other related articles on the PHP Chinese website!
%a | Abbreviation of the day of the week in the current area | Sun to Sat |
The full name of the day of the week in the current area | Sunday to Saturday | |
The day of the month, decimal number (range from 01 to 31) | 01 to 31 | |
The day of the month, decimal number, a digit will be added before Spaces (ranging from '1' to '31') are not implemented as described on Windows. More information below. | 1 to 31 | |
The day of the year as a three-digit decimal number with leading zeros (range 001 to 366) | 001 to 366 | |
Conforms to the ISO-8601 decimal representation of the day of the week [1,7], 1 represents Monday | 1 (Monday) to 7 (Sunday) | |
The day of the week, Sunday is 0 | 0 (Sunday) to 6 (Saturday) | |
--- | --- | |
The first week of the year, starting from the first Sunday of the first week as the first day | 13 (for the 13th full week of the year) | |
%V - ISO-8601:1988 format of the week of the year, ranging from 01 to 53, week 1 is the first of the year There are at least 4 days in the week, with Monday as the first day of the week. (Use %G or %g as the year composition of the corresponding week number of the specified timestamp.) | 01 to 53 (where 53 accounts for an overlapping week) | |
The week number of the year, starting from the first Monday of the first week as the first day | 46 (for the 46th week of the year beginning with a Monday) | |
--- | --- | |
The abbreviation of the current regional month | Jan to Dec | |
The full name of the current regional month | January to December | |
Abbreviation of the month in the current region (alias of %b) | Jan to Dec | |
Two-digit month | 01 (is January) to 12 (is December) | |
--- | --- | |
Two digits display the century (year divided by 100, truncated to integers) | 19 is the 20th century | ##%g |
For example: the week of January 6, 2009 is 09. | ||
%G | The complete four-digit version of %g | For example: the week of January 3, 2009 is 2008. |
%y | Two-digit display year | For example: 09 is 2009, 79 is 1979 |
Four-digit display year | For example: 2038 | |
--- | -- - | |
Display two-digit hours in 24-hour format | 00 to 23 | |
Display two-digit hours in 12-hour format | 01 to 12 | |
Display hours in 12-hour format, single digits with spaces before them | 1 to 12 | |
Two-digit minutes Numbers | 00 to 59 | |
Specify the uppercase "AM" or "PM" of the time | For example: 00 :31 is AM, 22:23 is PM | |
The lowercase "am" or "pm" of the specified time | For example: 00 :31 is am, 22:23 is pm | |
is the same as "%I:%M:%S %p" | For example: 21:34:17 is 09:34:17 PM | |
is the same as "%H:%M" | For example : 12:35 AM is 00:35, 4:44 PM is 16:44 | |
two digits represent seconds | 00 To 59 | |
is the same as "%H:%M:%S" | For example: 09:34:17 PM is 21 :34:17 | |
The preferred time representation in the current region, excluding the date | For example: 03:59:16 or 15: 59:16 | |
Time zone offset or abbreviation from UTC (determined by the operating system) | For example: Eastern Time is -0500 or EST | |
%z No time zone offset or abbreviation for UTC given (determined by the operating system) | For example: - 0500 or EST is Eastern Time | |
--- | --- | |
The preferred date and time expression in the current region | For example: February 5, 2009 12:45:10 am is Tue Feb 5 00:45:10 2009 | |
Same as "%m/%d/%y" | For example: February 5, 2009 is 02/05/09 | |
Same as "%Y-%m-%d" (commonly used in database datestamps) | For example: February 5, 2009 is 2009-02-05 | ##%s |
For example: September 1979 8:40:00 AM on the 10th is 305815200 | %x | |
. For example: 2009 February 5th is 02/05/09 | Other | |
--- | %n | |
--- | %t | |
--- | %% | |