Home > Article > Backend Development > Detailed introduction to displaying date and time in PHP_PHP tutorial
This article focuses on the php date function to introduce the usage of time and date in php in detail. Friends in need can refer to this tutorial.
PHP’s time display code is much more powerful than ASP, and it is simpler to call.
Watch first
The code is as follows | Copy code | ||||
$nbyear=Date('Y'); $nbmonth=Date('m'); $nbday=Date('d'); $date=Date('Y-m-d'); $datetime=Date('Y-m-d H:i:s'); $cndate=Date('Y year m month d day'); $cndateweek=Date('Y year m month d day'); |
Let’s introduce them one by one
1. Year-month-day
echo date('Y-m-j');
2007-02-6
echo date('y-n-j');
07-2-6
An uppercase Y represents a four-digit year, while a lowercase y represents a two-digit year;
Lowercase m represents the number of the month (with a leading), while lowercase n represents the number of the month without the leading.
echo date('Y-M-j');
2007-Feb-6
echo date('Y-m-d');
2007-02-06
Uppercase M represents the 3 abbreviated characters of the month, while lowercase m represents the number of the month (with leading 0);
There is no uppercase J, only lowercase j represents the day of the month, without the leading o; if a leading month is required, use a lowercase d.
echo date('Y-M-j');
2007-Feb-6
echo date('Y-F-jS');
2007-February-6th
Capital M represents the 3 abbreviated characters of the month, while capital F represents the full English letter of the month. (no lowercase f)
Capital S represents the suffix of the date, such as "st", "nd", "rd" and "th", depending on the date number.
Summary:
You can use uppercase Y or lowercase y to indicate the year;
Months can be represented by uppercase F, uppercase M, lowercase m and lowercase n (two ways to represent characters and numbers respectively);
Lowercase d and lowercase j can be used to represent the day, and uppercase S represents the suffix of the date.
2. Hour:minute:second
By default, PHP interprets the displayed time as "Greenwich Mean Time", which is 8 hours different from our local time.
echo date('g:i:s a');
5:56:57 am
echo date('h:i:s A');
05:56:57 AM
A lowercase g represents a 12-hour clock without leading 0s, while a lowercase h represents a 12-hour clock with leading 0s.
When using the 12-hour clock, it is necessary to indicate morning and afternoon. Lowercase a represents lowercase "am" and "pm", and uppercase A represents uppercase "AM" and "PM".
echo date('G:i:s');
14:02:26
Capital G represents the hour in 24-hour format, but without leading; use capital H to represent hour in 24-hour format with leading
Summary:
The letter g represents the hour without leading, and the letter h represents the hour with leading;
Lowercase g and h represent the 12-hour format, while uppercase G and H represent the 24-hour format.
3. Leap year, week, day
echo date('L');
Whether this year is a leap year: 0
echo date('l');
Today is: Tuesday
echo date('D');
Today is: Tue
Capital L indicates whether this year is a leap year, Boolean value, returns 1 if true, otherwise 0;
The lowercase l represents the full English word for the day of the week (Tuesday);
Instead, use a capital D to represent the 3-character abbreviation of the day of the week (Tue).
echo date('w');
Today’s week: 2
echo date('W');
This week is week 06 of the year
The lowercase w represents the day of the week, and the numeric form represents
Capital W represents the number of weeks in the year
echo date('t');
This month is 28 days
echo date('z');
Today is the 36th day of the year
Lowercase t represents the number of days in the current month
Lowercase z indicates what day of the year today is
4. Others
echo date('T');
UTC
A capital T represents the server’s time locale
echo date('I');
0
Capital I means to determine whether the current daylight saving time is, if true, return 1, otherwise 0
echo date('U');
1170769424
A capital U represents the total number of seconds from January 1, 1970 to the present, which is the UNIX timestamp of the Unix time epoch.
echo date('c');
2007-02-06T14:24:43+00:00
Lowercase c represents an ISO8601 date, the date format is YYYY-MM-DD, the letter T is used to separate the date and time, the time format is HH:MM:SS, and the time zone is represented by the offset from Greenwich Mean Time (GMT).
echo date('r');
Tue, 06 Feb 2007 14:25:52 +0000
Lowercase r indicates RFC822 date
The parameters are as follows:
a - "am" or "pm"
A - "AM" or "PM"
d - day, two digits, if there are less than two digits, add zeros in front; for example: "01" to "31"
D - day of the week, three English letters; such as: "Fri"
F - month, full English name; such as: "January"
h - hour in 12-hour format; e.g.: "01" to "12"
H - hour in 24-hour format; e.g.: "00" to "23"
g - hour in 12-hour format, no zeros are added if there are less than two digits; for example: "1" to 12"
G - Hour in 24-hour format, no zeros are added if there are less than two digits; such as: "0" to "23"
i - minute; e.g.: "00" to "59"
j - day, two digits, if there are less than two digits, do not add zeros; for example: "1" to "31"
l - day of the week, full English name; such as: "Friday"
m - month, two digits, if there are less than two digits, add zeros in front; such as: "01" to "12"
n - month, two digits, if there are less than two digits, no zero will be added; for example: "1" to "12"
M - month, three English letters; such as: "Jan"
s - seconds; e.g.: "00" to "59"
S - add an English ordinal number at the end of the word, two English letters; such as: "th", "nd"
t - the number of days in the specified month; such as: "28" to "31"
U - Total seconds
w - Numeric day of the week, such as: "0" (Sunday) to "6" (Saturday)
Y - year, four digits; such as: "1999"
y - year, two digits; such as: "99"
z - day of the year; e.g.: "0" to "365"
If the displayed time is inconsistent with the system, you need to change the PHP.ini configuration file.
The system default is UTC time
You can open php.inc
Set date.timezone = PRC
PHP displays localized date and time
1. setlocale() function
The setlocale() function can change the default localization environment of PHP.
Syntax format: setlocale(category locale)
If the locale parameter is empty, the locale or lang value of the system environment variable will be used, otherwise the localized environment specified by the locale parameter will be applied. For example, en_US is the US localization environment, chs is Simplified Chinese, and cht is Traditional Chinese.
The description of category parameter options is as follows:
LC_ALL——Contains all the following setting localization rules
LC_COLLATE——String comparison
LC_CTYPE——String classification and conversion, such as converting upper and lower case
LC_MONETARY——The currency form of localized environment
LC_NUMERIC - the numerical form of the localization environment
LC_TIME - the time format of the localized environment
2. strftime() function
strftime() function - formats the output date and time according to the localized environment.
Syntax format: strftime (format timestamp)
This function returns the string output after formatting the timestamp parameter with the given string. If no timestamp is given, local time is used.
Conversion tag identified by the format parameter:
%a – abbreviation for the day of the week in the current region
%A – The full name of the day of the week in the current region
%b – abbreviation of the current region month
%B – The full name of the current region month
%c – The preferred date and time expression for the current locale
%C – century value (year divided by 100 and rounded, range from 00 to 99)
%d – Day of the month, decimal number (range 01 to 31)
%D – same as %m/%d/%y
%e – Day of the month, decimal number, with a space before the digit (range from ‘1′ to ‘31′)
%g – Same as %G, but without century
%G – 4-digit year, conforming to ISO week numbers (see %V). Same format and values as %V, except that if the ISO week number belongs to the previous or next year, that year is used.
%h – same as %b
%H – Decimal hour in 24-hour format (range 00 to 23)
%I – Decimal hour in 12-hour format (range 00 to 12)
%j – Day of the year, decimal number (range 001 to 366)
%m – Decimal month (range 01 to 12)
%M – Decimal minutes
%n – newline character
%p – `am’ or `pm’ depending on the given time value, or the corresponding string in the current locale
%r – time in a.m. and p.m. notation
%R – time in 24-hour notation
%S – decimal seconds
%t – tab
%T – current time, same as %H:%M:%S
%u – The decimal representation of the day of the week [1,7], 1 means Monday
Warning
Although ISO 9889:1999 (the current C standard) clearly states that the week starts on Monday, Sun Solaris' week appears to start on Sunday as 1.
%U – The week number of the year, starting with the first Sunday of the first week as the first day
%V – The week number of the year in ISO 8601:1988 format, ranging from 01 to 53, with week 1 being the first week of the year with at least 4 days remaining, with Monday as the first day of the week. (Use %G or %g as the year component of the corresponding week number of the specified timestamp.)
%W – The week number of the year, starting with the first Monday of the first week as the first day
%w – day of the week, Sunday is 0
%x – The preferred time representation for the current locale, excluding time
%X – The preferred time representation for the current locale, excluding dates
%y – Decimal year without century (range 00 to 99)
%Y – Decimal year including century
%Z or %z – time zone name or abbreviation
%% – the literal `%’ character
Example: Output localized time and date in different ways
Code:
The code is as follows
|
Copy code
|
||||
setlocale(LC_ALL,"en_US");
echo "US format:".strftime("Today is %A"); echo “ ”; setlocale(LC_ALL,”chs”);echo "Chinese format:".strftime("Today is %A"); echo “”; echo "Month in Simplified Chinese:".strftime("This month is %B"); ?> |