Home >Backend Development >PHP Tutorial >Detailed explanation of PHP strtotime function_PHP tutorial
First read the manual introduction:
strtotime — Parse the date and time description of any English text into a Unix timestamp
format: int strtotime ( string $time [, int $now ] )
This function is expected Accepts a string containing a date in US English format and attempts to parse it into a Unix timestamp (number of seconds since January 1 1970 00:00:00 GMT) relative to the time given by the now argument, if not provided This parameter uses the current system time.
This function will use the TZ environment variable (if any) to calculate the timestamp. Since PHP 5.1.0 there is an easier way to define the time zone used in all date/time functions. This process is documented on the date_default_timezone_get() function page.
Note: If the given year is in two-digit format, the values 0-69 represent 2000-2069 and 70-100 represent 1970-2000.
Parameters
time
The string to be parsed, formatted according to the syntax of GNU » Date Input Format. Before PHP 5.0, milliseconds were not allowed in time. Since PHP 5.0, they are allowed but will be ignored.
now
The timestamp used to calculate the return value. The default value of this parameter is the current time time(), and can also be set to a timestamp of other times (a feature I have always ignored, I am ashamed)
Return value: Returns the timestamp if successful, otherwise returns FALSE. Before PHP 5.1.0, this function returned -1 on failure, and later versions returned false.
The first parameter of strtotime can be our common English time format, such as "2008-8-20" or "10 September 2000" and so on. It can also be a time description based on the parameter now, such as "+1 day" and so on.
The following is the list of available parameters for the latter method, where "current time" refers to the value of the second parameter now of strtotime, and the default is the current time
1. Month, Japanese and English List of names and their common abbreviations:
january,february,march,april,may,june,july,august,september,sept,october,november,december,
sunday,monday,tuesday,tues,wednesday,wednes , thursday,thur,thurs,friday,saturday
2. Time parameters and detailed description:
am : the time is before noon AM
pm: the time is noon or later afternoon
year: one year; for example, "next year" >fortnight: two weeks; for example, “a fortnight ago” Two weeks, for example, “a fortnight ago” means two weeks ago
week: one week Week
day: a day Day
hour: an hour Hour
minute: a minute Minute
min: same as minute Same as “minute”
second: a second Second
sec: same as second Same as “second”
3. Related And sequence description:
+n/-n: Calculate the current time, plus or minus the specified time, for example, "+1 hour" means the current time plus one hour
ago: time relative to now; such as "24 hours ago" Calculates forward based on the current time, for example, "24 hours ago" represents "24 hours ago"
tomorrow: 24 hours later than the current date and time Based on the current time (including date and time), The same time tomorrow
yesterday : 24 hours earlier than the current date and time Based on the current time (including date and time), the same time yesterday
today : the current date and time Current time (including date and time)
now : the current date and time Current time (including date and time)
last : modifier meaning “the preceding”; for example, “last tuesday” represents “previous”, such as “last tuesday” represents “ same time last Tuesday”
this : the given time during the current day or the next occurrence of the given time; for example, “this 7am” gives the timestamp for 07:00 on the current day, while “this week ” gives the timestamp for one week from the current time. The specified time of the day or the timestamp of the following time period. For example, “this 7am” gives the timestamp of 7:00 that day, and “this week” gives the timestamp from the current time. The timestamp of the whole week from the beginning of time, which is the current time (tested by me: strtotime('this week')=strtotime('now'));
next: modifier meaning the current time value of the subject plus one; for example, “next hour” The current time plus the specified time, for example, “next hour” refers to the current time plus one hour, that is, plus 3600
//Come here first, the following is not yet Time translation
first : ordinal modifier, esp. for months; for example, “May first” (actually, it's just the same as next)
third : see first (note that there is no “second” for ordinality , since that would conflict with the second time value)
fourth : see first
fifth : see first
sixth : see first
seventh : see first
eighth : see first
ninth : see first
tenth : see first
eleventh : see first
twelfth : see first
4. Time zone description:
gmt : Greenwich Mean Time
ut : Coordinated Universal Time
utc : same as ut
wet : Western European Time
bst : British Summer Time
wat : West Africa Time
at : Azores Time
ast : Atlantic Standard Time
adt : Atlantic Daylight Time
est : Eastern Standard Time
edt : Eastern Daylight Time
cst : Central Standard Time
cdt : Central Daylight Time
mst : Mountain Standard Time
mdt : Mountain Daylight Time
pst : Pacific Standard Time
pdt : Pacific Daylight Time
yst : Yukon Standard Time
ydt : Yukon Daylight Time
hst : Hawaii Standard Time
hdt : Hawaii Daylight Time
cat : Central Alaska Time
akst : Alaska Standard Time
akdt : Alaska Daylight Time
ahst : Alaska-Hawaii Standard Time
nt : Nome Time
idlw : International Date Line West
cet : Central European Time
met : Middle European Time
mewt : Middle European Winter Time
mest : Middle European Summer Time
mesz : Middle European Summer Time
swt : Swedish Winter Time
sst : Swedish Summer Time
fwt : French Winter Time
fst : French Summer Time
eet : Eastern Europe Time, USSR Zone 1
bt : Baghdad Time, USSR Zone 2
zp4 : USSR Zone 3
zp5 : USSR Zone 4
zp6 : USSR Zone 5
wast : West Australian Standard Time
wadt : West Australian Daylight Time
cct : China Coast Time , USSR Zone 7
jst : Japan Standard Time, USSR Zone 8
east : Eastern Australian Standard Time
eadt : Eastern Australian Daylight Time
gst : Guam Standard Time, USSR Zone 9
nzt : New Zealand Time
nzst : New Zealand Standard Time
nzdt : New Zealand Daylight Time
idle : International Date Line East
There is a function called strtotime in PHP.strtotime implementation function: get the timestamp of a certain date, or get the timestamp of a certain time. strtotime parses the date and time description of any English text into a Unix timestamp [convert system time into a unix timestamp]
1. Get the unix timestamp of the specified date
strtotime("2009-1-22") Example is as follows:
1.echo strtotime("2009-1-22")
Result: 1232553600
Description: Return to 0:00 on January 22, 2009 0 minutes and 0 seconds timestamp
2. Get the English text date and time
The example is as follows:
For easy comparison, use date to compare the current timestamp with the specified timestamp Convert to system time
(1) Print the timestamp of tomorrow at this time strtotime("+1 day")
Current time:
1.echo date("Y-m-d H:i:s",time( ))
Result: 2009-01-22 09:40:25
Specified time:
1.echo date("Y-m-d H:i:s",strtotime("+1 day"))
Result: 2009-01-23 09:40:25
(2) Print the timestamp of yesterday at this time strtotime("-1 day")
Current time:
1.echo date(" Y-m-d H:i:s",time())
Result: 2009-01-22 09:40:25
Specified time:
1.echo date("Y-m-d H:i:s", strtotime("-1 day"))
Result: 2009-01-21 09:40:25
(3) Print the timestamp at this time next week strtotime("+1 week")
Current time:
1.echo date("Y-m-d H:i:s",time())
Result: 2009-01-22 09:40:25
Specified time:
1. echo date("Y-m-d H:i:s",strtotime("+1 week"))
Result: 2009-01-29 09:40:25
(4) Print the time at this time last week Poke strtotime("-1 week")
Current time:
1.echo date("Y-m-d H:i:s",time())
Result: 2009-01-22 09:40: 25
Specified time:
1.echo date("Y-m-d H:i:s",strtotime("-1 week"))
Result: 2009-01-15 09:40:25
(5) Print the timestamp of the specified next day of the week strtotime("next Thursday")
Current time:
1.echo date("Y-m-d H:i:s",time())
Result :2009-01-22 09:40:25
Specified time:
1.echo date("Y-m-d H:i:s",strtotime("next Thursday"))
Result: 2009-01 -29 00:00:00
(6) Print the timestamp of the specified day of the week strtotime("last Thursday")
Current time:
1.echo date("Y-m-d H:i:s" ,time())
Result: 2009-01-22 09:40:25
Specified time:
1.echo date("Y-m-d H:i:s",strtotime("last Thursday") )
Result: 2009-01-15 00:00:00
As can be seen from the above example, strtotime can parse the date and time description of any English text into a Unix timestamp. We format it in conjunction with mktime() or date() Date and time gets the specified timestamp to achieve the required date and time.
I hope that after the introduction of this article, you can master the usage of strtotime function.