PHP函数strtotime详解(附参数中文介绍)

strtotime函数是一个很好的函数,灵活的运用它,会给你的工作带来不少方便.但PHP的手册中却对此函数的参数没作太多介绍,对些函数的其他介绍也非常少。

先看手册介绍:

strtotime — 将任何英文文本的日期时间描述解析为 Unix 时间戳
格式:int strtotime ( string $time [, int $now ] )
本函数预期接受一个包含美国英语日期格式的字符串并尝试将其解析为 Unix 时间戳(自 January 1 1970 00:00:00 GMT 起的秒数),其值相对于 now 参数给出的时间,如果没有提供此参数则用系统当前时间。
本函数将使用 TZ 环境变量(如果有的话)来计算时间戳。自 PHP 5.1.0 起有更容易的方法来定义时区用于所有的日期/时间函数。此过程在 date_default_timezone_get() 函数页面中有说明。
Note: 如果给定的年份是两位数字的格式,则其值 0-69 表示 2000-2069,70-100 表示 1970-2000。


参数
time
被解析的字符串,格式根据 GNU
» 日期输入格式的语法。在 PHP 5.0 之前,time 中不允许有毫秒数,自 PHP 5.0 起可以有但是会被忽略掉。
now
用来计算返回值的时间戳。 该参数默认值是当前时间time(),也可以设置为其他时间的时间戳(我一直忽略的一个功能啊,惭愧)
返回值:成功则返回间戳,否则返回 FALSE。在 PHP 5.1.0 之前本函数在失败时返回 -1,后面版本返回false.

strtotime的第一个参数可以是我们常见的英文时间格式,比如“2008-8-20”或“10 September 2000”等等。也可以是以参数now为基准的时间描述,比如“+1 day”等等。

下面是后一种方式的可使用参数清单,其中“当前时间”是指strtotime第二个参数now的值,默认为当前时间
1.月,日英文名及其常用缩写清单:
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.时间参数和祥细描述:
am: the time is before noon 上午
pm: the time is noon or later 下午
year: one year; for example, “next year” 年,比如“next year”代表明年
month: one month; for example, “last month” 月,比如“last month”代表上一月
fortnight: two weeks; for example, “a fortnight ago” 两周,比如“a fortnight ago”代表两周前
week: one week 周
day: a day 天
hour: an hour 小时
minute: a minute 分钟
min: same as minute 同“minute”
second: a second 秒
sec: same as second 同“second”

3.相关和顺序说明:
+n/-n:以当前时间算,加个减指定的时间,比如”+1 hour”是指当前时间加一小时
ago:time relative to now; such as “24 hours ago”  以当前时间往前算,比如”24 hours ago”代表“24小时前”
tomorrow: 24 hours later than the current date and time 以当前时间(包括日期和时间)为标准,明天同一时间
yesterday: 24 hours earlier than the current date and time 以当前时间(包括日期和时间)为标准,昨天同一时间
today: the current date and time 当前时间(包括日期和时间)
now: the current date and time 当前时间(包括日期和时间)
last: modifier meaning “the preceding”; for example, “last tuesday” 代表“上一个”,比如“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 当天的指定时间或下面一个时间段的时间戳,比如“this 7am”给出当天7:00的时间戳,而“this week”给出的是从当前时间开始的一整周的时间戳,也就是当前时间(经本人测试:strtotime(‘this week’)=strtotime(‘now’));
next: modifier meaning the current time value of the subject plus one; for example, “next hour” 当前时间加上指定的时间,比如“next hour”是指当前时间加上一小时,即加3600

//先到这,下面的还没时间翻译
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.时区描述:
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


( ! ) Warning: Missing argument 1 for cwppos_show_review(), called in /data/www/enjoyphp/wp-content/themes/flat/content-single.php on line 29 and defined in /data/www/enjoyphp/wp-content/plugins/wp-product-review/includes/legacy.php on line 18
Call Stack
#TimeMemoryFunctionLocation
10.0000355192{main}( ).../index.php:0
20.0001355480require( '/data/www/enjoyphp/wp-blog-header.php' ).../index.php:17
30.166510171328require_once( '/data/www/enjoyphp/wp-includes/template-loader.php' ).../wp-blog-header.php:19
40.167710242472include( '/data/www/enjoyphp/wp-content/themes/flat/single.php' ).../template-loader.php:74
50.249010797520get_template_part( ).../single.php:5
60.249010798040locate_template( ).../general-template.php:167
70.249010798136load_template( ).../template.php:643
80.249110798520require( '/data/www/enjoyphp/wp-content/themes/flat/content-single.php' ).../template.php:686
90.259910785016cwppos_show_review( ).../content-single.php:29

发表评论

电子邮件地址不会被公开。 必填项已用*标注