ホームページ  >  記事  >  バックエンド開発  >  phpの時間取得の詳しい説明

phpの時間取得の詳しい説明

墨辰丷
墨辰丷オリジナル
2018-05-09 14:53:011643ブラウズ

この記事では主に、PHP で時刻を取得する方法、date() でローカルの時刻/日付をフォーマットし、指定されたフォーマット文字列に従って整数のタイムスタンプによって生成された文字列を返す方法について説明します。タイムスタンプが指定されていない場合は、ローカルの現在時間が使用されます。つまり、タイムスタンプはオプションであり、デフォルト値は 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 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。