PHP中时间详解

来源:互联网 发布:动态相册软件 编辑:程序博客网 时间:2024/05/01 19:03
date_default_timezone_set('Asia/Shanghai'); //设置时区

一、格式化时间函数date ,返回string 
@params 
String date(string $param1,int $time)

1.date函数  (对比printf、sprintf 函数)
date('时间格式'[,'时间戳']);
    date('Y-m-01',time()) //获取当月第一天  eg:2015-07-30    
时间格式
年:L、Y、y、o
    date('L',time()) //判断某年是否为闰年,如果是闰年为 1,否则为 0
    date('Y',time()) //2015
    date('y',time()) //15
    
月:F、m、M、n、t
    date('F',time())  //月份,完整的文本格式,例如 January 或者 March
    date('m',time())  //数字表示的月份,有前导零 01 到 12 
    date('M',time())  //三个字母缩写表示的月份 Jan 到 Dec 
    date('n',time())  //数字表示的月份,没有前导零 1 到 12 
    date('t',time())  //t 给定月份所应有的天数 28 到 31  date('Y年m月份有t天',time())  string '2015年07月份有31天' (length=18)

日:d、j
    date('d')  判断今天是这个月的第几天,有前导零的两位数字 01到31
    date('j')  判断今天是这个月的第几天,有前导零的两位数字 1到31
    date('z')  年份中的第几天 0 到 366 

星期: D、N、W、z、l
date('D')  星期中的第几天,文本表示,3个字母 Mon到Sun
date('l')  星期几,完整的文本格式 Sunday 到 Saturday 
date('N')  ISO-8601 格式数字表示的星期中的第几天(PHP 5.1.0 新加) 1(表示星期一)到 7(表示星期天) 
date('w') 星期中的第几天,数字表示 0(表示星期天)到 6(表示星期六) 

时间
date('a') 小写的上午和下午值 am 或 pm
date('A')  大写的上午和下午值 AM 或 PM 
    小时
    date('g') 小时,12 小时格式,没有前导零 1 到 12 
    date('G') 小时,24 小时格式,没有前导零 0 到 23 
    date('h') 小时,12 小时格式,有前导零 01 到 12 
    date('H') 小时,24 小时格式,有前导零 00 到 23 
    分钟
    date('i') 有前导零的分钟数 00 到 59
    date('s') 有前导零的秒数 00 到 59
二、时间戳
1.strtotime   将任何英文文本的日期时间描述解析为 Unix 时间戳
格式:int strtotime ( string $time [, int $now ] )
strtotime的第一个参数可以是我们常见的英文时间格式,比如“2008-8-20”或“10 September 2000 ”等等。也可以是以参数now为基准的时间描述,比如“+1 day”等等
一,获取指定日期的unix时间戳
strtotime("2009-1-22") 示例如下:
1.echo strtotime("2009-1-22")
结果:1232553600
说明:返回2009年1月22日0点0分0秒时间戳
二,获取英文文本日期时间
1.获取几天前或几天后相关的时间戳 +或- 'days'或'day'
strtotime("+10 days")
2.获取几周前或者几周后的时间 +或- 'week'或'weeks'
strtotime("+10 week")
3.获取指定几周几天几小时几秒来获取时间戳
strtotime ("+1 week 2 days 4 hours 2 seconds");
4.获取上周一或者下周四的时间戳
strtotime ("last Monday")
strtotime ("next Thursday")
5获取几年前或几年后的时间戳

strtotime("+3 years")

6.获取下个月的第一天

date('Y-m-1',strtotime('+1 month'))

7.获取本月的最后一天

思路:下个月的第一天,减去一天即可

$tmp=date('Y-m-1',strtotime('+1 month'));

var_dump(date('Y-m-d',strtotime($tmp.'-1 day')));


1 0
原创粉丝点击