-
博文分类专栏
- Jquery基础教程
-
- 文章:(15)篇
- 阅读:46566
- shell命令
-
- 文章:(42)篇
- 阅读:154239
- Git教程
-
- 文章:(36)篇
- 阅读:234850
- leetCode刷题
-
- 文章:(76)篇
- 阅读:131794
-
PHP中时间详解2016-08-23 10:28 阅读(6197) 评论(0)
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')));
/** * 计算某个时间当月最后一天 * @param string $time * @return string */ function getLastDay($time=null){ $time=empty($time)?date('Y-m-d H:i:s'):$time; return date('Y-m-d H:i:s',strtotime(date('Y-m-1 H:i:s',strtotime($time.'+1 Month')).' -1 day')); }