您的位置:首页 > 编程语言 > PHP开发

PHP中时间详解

2016-04-06 14:55 716 查看
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')));
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: