php⽉份转英⽂缩写,将⽇期转换成时间戳strtotime
1、sql:localtime和now()返回当前⽇期与时间:2011-2-2613:28:43curtime()返回当前时间:13:28:43
curdate()返回当前⽇期:2011
2、sql:date('2011-03-23')返回表达式中的⽇期:2011-03-23
hour(time)返回time中的⼩时hour(10:23:12)返回10;cond(time)返回秒;minute(time)
DATEDIFF()函数返回两个⽇期之间的天数。
DATEDIFF(date1,date2)
date1和date2参数是合法的⽇期或⽇期/时间表达式。
注释:只有值的⽇期部分参与计算。
eg:返回最近⼀周上传的表
date_default_timezone_t('PRC');
$sql="lect*from1_1whereDATEDIFF(CURDATE(),uptime)<=7";
$result=mysql_query($sql)ordie(mysql_error());
3、php:在页头使⽤date_default_timezone_t()设置默认时区为北京时间
date_default_timezone_t('PRC');
echodate('Y-m-dH:i:s');
date_default_timezone_t('Etc/GMT-8');
echotime()."
";//1301569127
echodate("Y-m-d",time())."
";//2011-03-31
echodate("Y-m-dH:i:s",time())."
";//2011-03-3118:58:47
echodate("Y-m-dH:i:s",time()+1*60*60)."
";//2011-03-3119:58:47
echodate("Y-m-dH:i:s",time()-1*60*60)."
";//2011-03-3117:58:47
>
strtotime能将任何英⽂⽂本的⽇期时间描述解析为Unix时间戳,我们结合mktime()或date()
格式化⽇期时间获取指定的时间戳,实现所需要的⽇期时间。
格式:intstrtotime(string$time[,int$now])
成功则返回时间戳,否则返回FALSE。在PHP5.1.0之前本函数在失败时返回-1。
本函数预期接受⼀个包含美国英语⽇期格式的字符串并尝试将其解析为Unix时间戳(⾃January1197000:00:00GMT起的秒数),其
值相对于now参数给出的时间,如果没有提供此参数则⽤系统当前时间。
本函数将使⽤TZ环境变量(如果有的话)来计算时间戳。⾃PHP5.1.0起有更容易的⽅法来定义时区⽤于所有的⽇期/时间函数。此过程
在date_default_timezone_get()函数页⾯中有说明。
Note:如果给定的年份是两位数字的格式,则其值0-69表⽰2000-2069,70-100表⽰1970-2000。
参数
time
被解析的字符串,格式根据GNU?⽇期输⼊格式的语法。在PHP5.0之前,time中不允许有毫秒数,⾃PHP5.0起可以有但是会被忽
略掉。
now
⽤来计算返回值的时间戳。该参数默认值是当前时间time(),也可以设置为其他时间的时间戳(我⼀直忽略的⼀个功能啊,惭愧)
返回值:成功则返回间戳,否则返回FALSE。在PHP5.1.0之前本函数在失败时返回-1,后⾯版本返回fal.
strtotime的第⼀个参数可以是我们常见的英⽂时间格式,⽐如“2008-8-20”或“10September2000”等等。也可以是以参数now
为基准的时间描述,⽐如“+1day”等等。
下⾯是后⼀种⽅式的可使⽤参数清单,其中“当前时间”是指strtotime第⼆个参数now的值,默认为当前时间
1.⽉,⽇英⽂名及其常⽤缩写清单:
january,february,march,april,may,june,july,august,ptember,pt,october,november,december,
sunday,monday,tuesday,tues,wednesday,wednes,thursday,thur,thurs,friday,saturday
2.时间参数和祥细描述:
am:thetimeisbeforenoon 上午
pm:thetimeisnoonorlater 下午
year:oneyear;forexample,“nextyear” 年,⽐如“nextyear”代表明年
month:onemonth;forexample,“lastmonth” ⽉,⽐如“lastmonth”代表上⼀⽉
fortnight:twoweeks;forexample,“afortnightago” 两周,⽐如“afortnightago”代表两周前
week:oneweek 周
day:aday 天
hour:anhour ⼩时
minute:aminute 分钟
min:sameasminute 同“minute”
cond:acond秒
c:sameascond 同“cond”
3.相关和顺序说明:
+n/-n:以当前时间算,加个减指定的时间,⽐如”+1hour”是指当前时间加⼀⼩时
ago:timerelativetonow;suchas“24hoursago” 以当前时间往前算,⽐如”24hoursago”代表“24⼩时前”
tomorrow:24hourslaterthanthecurrentdateandtime 以当前时间(包括⽇期和时间)为标准,明天同⼀时间
yesterday:24hourarlierthanthecurrentdateandtime 以当前时间(包括⽇期和时间)为标准,昨天同⼀时间
today:thecurrentdateandtime 当前时间(包括⽇期和时间)
now:thecurrentdateandtime 当前时间(包括⽇期和时间)
last:modifiermeaning“thepreceding”;forexample,“lasttuesday” 代表“上⼀个”,⽐如“lasttuesday”代表“上周⼆同
⼀时间”
this:thegiventimeduringthecurrentdayorthenextoccurrenceofthegiventime;forexample,“this7am”givesthe
timestampfor07:00onthecurrentday,while“thisweek”givesthetimestampforoneweekfromthecurrenttime 当天
的指定时间或下⾯⼀个时间段的时间戳,⽐如“this7am”给出当天7:00的时间戳,⽽“thisweek”给出的是从当前时间开始的⼀整周的
时间戳,也就是当前时间(经本⼈测试:strtotime('thisweek')=strtotime('now'));
next:modifiermeaningthecurrenttimevalueofthesubjectplusone;forexample,“nexthour” 当前时间加上指定的时间,
⽐如“nexthour”是指当前时间加上⼀⼩时,即加3600
实现功能:获取某个⽇期的时间戳,或获取某个时间的时间戳。
strtotime将任何英⽂⽂本的⽇期时间描述解析为Unix时间戳[将系统时间转化成unix时间戳]
⼀,获取指定⽇期的unix时间戳strtotime("2009-1-22")⽰例如下:
echostrtotime("2009-1-22")结果:1232553600
说明:返回2009年1⽉22⽇0点0分0秒时间戳
⼆,获取英⽂⽂本⽇期时间⽰例如下:
便于⽐较,使⽤date将当时间戳与指定时间戳转换成系统时间
(1)打印明天此时的时间戳strtotime("+1day")
当前时间:echodate("Y-m-dH:i:s",time())结果:2009-01-2209:40:25
指定时间:echodate("Y-m-dH:i:s",strtotime("+1day"))结果:2009-01-2309:40:25
(2)打印昨天此时的时间戳strtotime("-1day")
当前时间:echodate("Y-m-dH:i:s",time())结果:2009-01-2209:40:25
指定时间:echodate("Y-m-dH:i:s",strtotime("-1day"))结果:2009-01-2109:40:25
(3)打印下个星期此时的时间戳strtotime("+1week")
当前时间:echodate("Y-m-dH:i:s",time())结果:2009-01-2209:40:25
指定时间:echodate("Y-m-dH:i:s",strtotime("+1week"))结果:2009-01-2909:40:25
(4)打印上个星期此时的时间戳strtotime("-1week")
当前时间:echodate("Y-m-dH:i:s",time())结果:2009-01-2209:40:25
指定时间:echodate("Y-m-dH:i:s",strtotime("-1week"))结果:2009-01-1509:40:25
(5)打印指定下星期⼏的时间戳strtotime("nextThursday")
当前时间:echodate("Y-m-dH:i:s",time())结果:2009-01-2209:40:25
指定时间:echodate("Y-m-dH:i:s",strtotime("nextThursday"))结果:2009-01-2900:00:00
(6)打印指定上星期⼏的时间戳strtotime("lastThursday")
当前时间:echodate("Y-m-dH:i:s",time())结果:2009-01-2209:40:25
指定时间:echodate("Y-m-dH:i:s",strtotime("lastThursday"))结果:2009-01-1500:00:00
以上⽰例可知,strtotime能将任何英⽂⽂本的⽇期时间描述解析为Unix时间戳,我们
结合mktime()或date()格式化⽇期时间获取指定的时间戳,实现所需要的⽇期时间。
下⾯这个例⼦实现给⼀个时间输出加四个⼩时后的功能
$time="2011-4-2020:20:20";
$timestamp=strtotime($time);//⾸先转换成时间戳
$t=date("Y-m_dH:i:s",$timestatmp+4*60*60);
>
或者
$time="2011-4-2020:20:20";
$timestamp=strtotime($time."+4hour");//⾸先转换成时间戳
$t=date("Y-m_dH:i:s",$timestatmp);
>
本文发布于:2022-12-29 20:42:13,感谢您对本站的认可!
本文链接:http://www.wtabcd.cn/fanwen/fan/90/55282.html
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。
留言与评论(共有 0 条评论) |