学习PHP时间、日期必须会使用的四个函数:date()、strtotime()、mktime()、time()

学习笔记 马富天 2016-07-15 21:44:22 21 1

【摘要】学习PHP的一个重要内容就是学习PHP的时间、日期函数的使用,这是一个必不可少的阶段,但是很多人并不是很重视,以至于对于时间、日期的掌握程度不是很高,本篇文章叙述一下PHP时间、日期的核心部分。

主要使用到4个函数,就能够较好的掌握PHP时间日期的使用,这四个函数是:date()、strtotime()、mktime()、time()

首先介绍date():格式化一个本地时间/日期

以下三个函数都是返回时间戳的,只有date()函数是返回时间日期格式的:

mktime():根据给出的参数返回 Unix 时间戳

time():返回当前的时间戳

strtotime():将任何英文文本的日期时间描述解析为 Unix 时间戳,记住了是"任何英文文本的日期时间描述"。

date($format,$timestamp),$format是想要输出的时间日期格式,$timestamp是时间戳,默认是当前时间戳

请看下面的例子:

今天的日期是:2016-07-15

  1. //	首先设置当前市区为北京时间
  2. date_default_timezone_set('Asia/Shanghai');	//	北京时间
  1. //	获取当前时间戳,下面两张方法输出的时间戳是一样的。
  2. $time = strtotime('now');	//	通过strtotime()函数
  3. date('Y-m-d',$time);	//	'2016-07-15'
  4. $time = time();
  5. date('Y-m-d',$time);	//	'2016-07-15'
  6. date('Y-m-d');	//	'2016-07-15'	
  1. //	获取昨天当前同一时刻的时间戳
  2. $time = strtotime('-1 day');	//	即(24 * 60 * 60 = 86400s前的时间戳)
  3. date('Y-m-d',$time);	//	'2016-07-14'
  4. //	获取明天当前同一时刻的时间戳,即(24 * 60 * 60 = 86400s后的时间戳)
  5. $time = strtotime('+1 day');
  6. date('Y-m-d',$time);	//	'2016-07-16'
  1. //	获取一周后(7天后)、一周前(7天前)当前同一时刻的时间戳
  2. $time = strtotime('+1 week');	//	即(7 * 24 * 60 * 60 = 604800s后的时间戳)
  3. date('Y-m-d',$time);	//	'2016-07-22'
  4. $time = strtotime('-1 week');	//	//	即(7 * 24 * 60 * 60 = 604800s前的时间戳)
  5. date('Y-m-d',$time);	//	'2016-07-08'
  1. //	同理,一个月后,一个月前,一年前,一年后
  2. //	这里记住了,是后一个月同一日期同一时刻的时间戳,可不是(30 * 24 * 60 * 60)s 或者(31 * 24 * 60 * 60)s前后
  3. $time = strtotime('+1 month');
  4. date('Y-m-d',$time);	//	'2016-08-15'
  5. $time = strtotime('-1 month');	//	上一个月同一日期同一时刻的时间戳
  6. date('Y-m-d',$time);	//	'2016-06-15'
  7. $time = strtotime('+1 year');	//	明年同一月份同一日期同一时刻的时间戳
  8. date('Y-m-d',$time);	//	'2017-07-15'
  9. $time = strtotime('-1 year');	//	去年同一月份同一日期同一时刻的时间戳
  10. date('Y-m-d',$time);	//	'2015-07-15'
  1. //	刚刚过去最近的一个周四的时间戳,注:'2016-07-15'是周五
  2. date('Y-m-d',strtotime('-1 Thursday'));	//	'2016-7-14'
  3. //	 date('Y-m-d',strtotime('last Thursday'));	//	'2016-7-14'
  4. //	马上要到达的周四的时间戳
  5. date('Y-m-d',strtotime('+1 Thursday'));	//	'2016-7-21'
  6. //	date('Y-m-d',strtotime('next Thursday'));	//	'2016-7-21'
  1. // 综上一个比较复杂的:现在是'2016-07-15 21:21:10'
  2. //	两年一周零两天四小时两秒后:
  3. $time = strtotime("+2 years 1 week 2 days 4 hours 2 seconds");
  4. date('Y-m-d H:s:i',$time);	//	'2018-07-25 01:21:12'
  5. //	三年两个月五天三个小时二十分三十秒前:
  6. $time = strtotime('-3 years -2 month -5 days -3 hours -20 minutes -30 seconds');
  7. 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('时','分','秒','月','日','年');

例如:

  1. // 获取2018年06月3号 08时12分32秒的时间戳
  2. mktime('8','12','32','6','3','2018');
  1. 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

上一篇《 Eclipse中Tomcate 7.0 启动超过45秒的解决办法 》 下一篇《 PHP操作CSV文件(读取和写入操作) 》
分享到:

所有评论

  1. 首页
  2. 上一页
  3. 1
  4. 下一页
  5. 尾页
  6. 第1页
  7. 每页12条
  8. 共1页
  9. 共1条
评论审核未开启
表情 表情 表情 表情 表情 表情 表情 表情 表情 表情 表情 表情 表情 表情 表情 表情 表情 表情 表情 表情 表情 表情 表情 表情
验证码