欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  后端开发

PHP strtotime函数详细介绍

程序员文章站 2022-05-02 19:58:51
...
本篇文章介绍了,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

附,具体应用举例。 参见文章:php strtotime()函数用法举例