首頁  >  文章  >  後端開發  >  php 取得時間詳解

php 取得時間詳解

墨辰丷
墨辰丷原創
2018-05-09 14:53:011642瀏覽

本文主要和大家分享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