首页 >后端开发 >php教程 >php 获取时间详解

php 获取时间详解

墨辰丷
墨辰丷原创
2018-05-09 14:53:011703浏览

本文主要和大家分享php获取时间, date()格式化一个本地时间/日期,返回将整数timestamp按照给定的格式字串而产生的字符串。如果没有给出时间戳则使用本地当前时间。换句话说,timestamp是可选的,默认值为  time()

<?php  
/** 
 * php 获取时间(今天,昨天,三天内,本周,上周,本月,三年内,半年内,一年内,三年内) 
 * 
 * author:ihelloworld2010@gmail.com 
 * date:2012-06-28 16:00:01 
 */  
  
$q = $_GET[&#39;q&#39;] ? intval($_GET[&#39;q&#39;]) : 0;  
  
$text = &#39;&#39;;  
$now = time();  
  
if ($q === 1) {// 今天  
    $text = &#39;今天&#39;;  
    $beginTime = date(&#39;Y-m-d 00:00:00&#39;, $now);  
    $endTime = date(&#39;Y-m-d 23:59:59&#39;, $now);  
} elseif ($q === 2) {// 昨天  
    $text = &#39;昨天&#39;;  
    $time = strtotime(&#39;-1 day&#39;, $now);  
    $beginTime = date(&#39;Y-m-d 00:00:00&#39;, $time);  
    $endTime = date(&#39;Y-m-d 23:59:59&#39;, $now);  
} elseif ($q === 3) {// 三天内  
    $text = &#39;三天内&#39;;  
    $time = strtotime(&#39;-2 day&#39;, $now);  
    $beginTime = date(&#39;Y-m-d 00:00:00&#39;, $time);  
    $endTime = date(&#39;Y-m-d 23:59:59&#39;, $now);  
} elseif ($q === 4) {// 本周  
    $text = &#39;本周&#39;;  
    $time = &#39;1&#39; == date(&#39;w&#39;) ? strtotime(&#39;Monday&#39;, $now) : strtotime(&#39;last Monday&#39;, $now);  
    $beginTime = date(&#39;Y-m-d 00:00:00&#39;, $time);  
    $endTime = date(&#39;Y-m-d 23:59:59&#39;, strtotime(&#39;Sunday&#39;, $now));  
} elseif ($q === 5) {// 上周  
    $text = &#39;上周&#39;;  
    // 本周一  
    $thisMonday = &#39;1&#39; == date(&#39;w&#39;) ? strtotime(&#39;Monday&#39;, $now) : strtotime(&#39;last Monday&#39;, $now);  
    // 上周一  
    $lastMonday = strtotime(&#39;-7 days&#39;, $thisMonday);  
    $beginTime = date(&#39;Y-m-d 00:00:00&#39;, $lastMonday);  
    $endTime = date(&#39;Y-m-d 23:59:59&#39;, strtotime(&#39;last sunday&#39;, $now));  
} elseif ($q === 6) {// 本月  
    $text = &#39;本月&#39;;  
    $beginTime = date(&#39;Y-m-d 00:00:00&#39;, mktime(0, 0, 0, date(&#39;m&#39;, $now), &#39;1&#39;, date(&#39;Y&#39;, $now)));  
    $endTime = date(&#39;Y-m-d 23:39:59&#39;, mktime(0, 0, 0, date(&#39;m&#39;, $now), date(&#39;t&#39;, $now), date(&#39;Y&#39;, $now)));  
} elseif ($q === 7) {// 三月内  
    $text = &#39;三月内&#39;;  
    $time = strtotime(&#39;-2 month&#39;, $now);  
    $beginTime = date(&#39;Y-m-d 00:00:00&#39;, mktime(0, 0,0, date(&#39;m&#39;, $time), 1, date(&#39;Y&#39;, $time)));  
    $endTime = date(&#39;Y-m-d 23:39:59&#39;, mktime(0, 0, 0, date(&#39;m&#39;, $now), date(&#39;t&#39;, $now), date(&#39;Y&#39;, $now)));  
} elseif ($q === 8) {// 半年内  
    $text = &#39;半年内&#39;;  
    $time = strtotime(&#39;-5 month&#39;, $now);  
    $beginTime = date(&#39;Y-m-d 00:00:00&#39;, mktime(0, 0,0, date(&#39;m&#39;, $time), 1, date(&#39;Y&#39;, $time)));  
    $endTime = date(&#39;Y-m-d 23:39:59&#39;, mktime(0, 0, 0, date(&#39;m&#39;, $now), date(&#39;t&#39;, $now), date(&#39;Y&#39;, $now)));  
}  elseif ($q === 9) {// 一年内  
    $text = &#39;一年内&#39;;  
    $beginTime = date(&#39;Y-m-d 00:00:00&#39;, mktime(0, 0,0, 1, 1, date(&#39;Y&#39;, $now)));  
    $endTime = date(&#39;Y-m-d 23:39:59&#39;, mktime(0, 0, 0, 12, 31, date(&#39;Y&#39;, $now)));  
} elseif ($q === 10) {// 三年内  
    $text = &#39;三年内&#39;;  
    $time = strtotime(&#39;-2 year&#39;, $now);  
    $beginTime = date(&#39;Y-m-d 00:00:00&#39;, mktime(0, 0, 0, 1, 1, date(&#39;Y&#39;, $time)));  
    $endTime = date(&#39;Y-m-d 23:39:59&#39;, mktime(0, 0, 0, 12, 31, date(&#39;Y&#39;)));  
}  
  
echo $text;  
echo &#39;<br />&#39;;  
echo $beginTime;  
echo &#39;<br />&#39;;  
echo $endTime;

总结:

希望通过本篇文章能让小伙伴们对php获取时间有一个更深的理解和掌握。

相关推荐:

php获取时间代码小结分享

PHP获取时间差

php获取时间的几种方法

php获取时间(系统时间和网络时间)

以上是php 获取时间详解的详细内容。更多信息请关注PHP中文网其他相关文章!

声明:
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn