博主辛苦了,我要打赏银两给博主,犒劳犒劳站长。
【摘要】学习PHP的一个重要内容就是学习PHP的时间、日期函数的使用,这是一个必不可少的阶段,但是很多人并不是很重视,以至于对于时间、日期的掌握程度不是很高,本篇文章叙述一下PHP时间、日期的核心部分。
主要使用到4个函数,就能够较好的掌握PHP时间日期的使用,这四个函数是:date()、strtotime()、mktime()、time()
首先介绍date():格式化一个本地时间/日期
以下三个函数都是返回时间戳的,只有date()函数是返回时间日期格式的:
mktime():根据给出的参数返回 Unix 时间戳
time():返回当前的时间戳
strtotime():将任何英文文本的日期时间描述解析为 Unix 时间戳,记住了是"任何英文文本的日期时间描述"。
date($format,$timestamp),$format是想要输出的时间日期格式,$timestamp是时间戳,默认是当前时间戳
请看下面的例子:
今天的日期是:2016-07-15
// 首先设置当前市区为北京时间
date_default_timezone_set('Asia/Shanghai'); // 北京时间
// 获取当前时间戳,下面两张方法输出的时间戳是一样的。
$time = strtotime('now'); // 通过strtotime()函数
date('Y-m-d',$time); // '2016-07-15'
$time = time();
date('Y-m-d',$time); // '2016-07-15'
date('Y-m-d'); // '2016-07-15'
// 获取昨天当前同一时刻的时间戳
$time = strtotime('-1 day'); // 即(24 * 60 * 60 = 86400s前的时间戳)
date('Y-m-d',$time); // '2016-07-14'
// 获取明天当前同一时刻的时间戳,即(24 * 60 * 60 = 86400s后的时间戳)
$time = strtotime('+1 day');
date('Y-m-d',$time); // '2016-07-16'
// 获取一周后(7天后)、一周前(7天前)当前同一时刻的时间戳
$time = strtotime('+1 week'); // 即(7 * 24 * 60 * 60 = 604800s后的时间戳)
date('Y-m-d',$time); // '2016-07-22'
$time = strtotime('-1 week'); // // 即(7 * 24 * 60 * 60 = 604800s前的时间戳)
date('Y-m-d',$time); // '2016-07-08'
// 同理,一个月后,一个月前,一年前,一年后
// 这里记住了,是后一个月同一日期同一时刻的时间戳,可不是(30 * 24 * 60 * 60)s 或者(31 * 24 * 60 * 60)s前后
$time = strtotime('+1 month');
date('Y-m-d',$time); // '2016-08-15'
$time = strtotime('-1 month'); // 上一个月同一日期同一时刻的时间戳
date('Y-m-d',$time); // '2016-06-15'
$time = strtotime('+1 year'); // 明年同一月份同一日期同一时刻的时间戳
date('Y-m-d',$time); // '2017-07-15'
$time = strtotime('-1 year'); // 去年同一月份同一日期同一时刻的时间戳
date('Y-m-d',$time); // '2015-07-15'
// 刚刚过去最近的一个周四的时间戳,注:'2016-07-15'是周五
date('Y-m-d',strtotime('-1 Thursday')); // '2016-7-14'
// date('Y-m-d',strtotime('last Thursday')); // '2016-7-14'
// 马上要到达的周四的时间戳
date('Y-m-d',strtotime('+1 Thursday')); // '2016-7-21'
// date('Y-m-d',strtotime('next Thursday')); // '2016-7-21'
// 综上一个比较复杂的:现在是'2016-07-15 21:21:10'
// 两年一周零两天四小时两秒后:
$time = strtotime("+2 years 1 week 2 days 4 hours 2 seconds");
date('Y-m-d H:s:i',$time); // '2018-07-25 01:21:12'
// 三年两个月五天三个小时二十分三十秒前:
$time = strtotime('-3 years -2 month -5 days -3 hours -20 minutes -30 seconds');
date('Y-m-d H:s:i',$time); // '2013-05-10 18:37:01'
以上就是strtotime()使用方法,另外是date()函数的使用,这个功能比较强大,除了'Y-m-d H:s:i'的使用,其它具体使用推荐查阅手册。
mktime():mktime('H','i','s','m','d','Y'),即mktime('时','分','秒','月','日','年');
例如:
// 获取2018年06月3号 08时12分32秒的时间戳
mktime('8','12','32','6','3','2018');
date('Y-m-d H:s:i',mktime('8','12','32','6','3','2018')); // '2018-06-03 08:12:32'
mktime()函数比较简单,以上即是这四个函数的基本使用方法。
版权归 马富天PHP博客 所有
本文标题:《学习PHP时间、日期必须会使用的四个函数:date()、strtotime()、mktime()、time()》
本文链接地址:http://www.mafutian.net/159.html
转载请务必注明出处,小生将不胜感激,谢谢! 喜欢本文或觉得本文对您有帮助,请分享给您的朋友 ^_^
顶0
踩0
第 1 楼 安卓版一键转发 2016-07-18 01:02:20 山东青岛
评论审核未开启 |