ホームページ >バックエンド開発 >PHPチュートリアル >PHP日時加減算プログラムコードの詳細解説_PHPチュートリアル

PHP日時加減算プログラムコードの詳細解説_PHPチュートリアル

WBOY
WBOYオリジナル
2016-07-13 17:00:01961ブラウズ

今日はphpで2つの時間の差を計算する方法を見ていきます。 以下では、data、strtotime、timeの3つの関数を直接使用して実装します。

今日説明する例の要件は次のとおりです。特定の日時を知ってください、

例: 2012-04-25 10:10:00

この日時に5ヶ月を加えて処理した日付を返したい

結果: 2012-04-25 10:10:00 プラス 5 か月は 2012-09-25 10:10:00 となります


PHP 関数 date() と strtotime() を組み合わせて、ほぼ同じ意味を実現します

コードは次のとおりです
コードは次のとおりです コードをコピー

/**
* PHP で日付を加算および減算する方法
* 瓊台古民家
​*/
// 時間があると仮定して、最初のステップ
$a = '2012-04-25 10:10:00';
// 2 番目のステップは、この日付のタイムスタンプを取得することです
$a_time = strtotime($a);
// 3 番目のステップは、5 か月後のタイムスタンプを取得することです
$b_time = strtotime('+5 か月',$a_time);
// パート 4、タイムスタンプを日付形式に変換します
$b = 日付('Y-m-d H:i:s',$b_time); echo 'これは 5 か月を加算した後の日付です'.$b;
// 上記のコードが長すぎると思われる場合は、1 行で実行できます
$b = date('Y-m-d H:i:s',strtotime('+'.$time.' 月',strtotime($a))); echo 'これは 5 か月を加算した後の日付です'.$b; ?>




一般的に使用される計算時間

コードをコピー

echo "次の木曜日:",date("Y-m-d",strtotime("次の木曜日")), "
"; echo "先週の月曜日:".date("Y-m-d",strtotime("最後の月曜日"))."
"; echo "1 か月前:".date("Y-m-d",strtotime("先月"))."
"; echo "1 か月後:".date("Y-m-d",strtotime("+1 か月"))."
"; echo "10 年後:".date("Y-m-d",strtotime("+10 year"))."
"; ?>
date_default_timezone_set('PRC'); //デフォルトのタイムゾーン echo "今日:",date("Y-m-d",time()),"
"; echo "今日:",date("Y-m-d",strtotime("2008 年 6 月 18 日")),"
"; echo "昨日:",date("Y-m-d",strtotime("-1 day")), "
"; echo "明日:",date("Y-m-d",strtotime("+1 day")), "
"; echo "1 週間後:",date("Y-m-d",strtotime("+1 週間")), "
"; echo "1 週間、2 日、4 時間 2 秒後:",date("Y-m-d G:H:s",strtotime("+1 週間 2 日 4 時間 2 秒")), "
" ;

結果を出力する

今日: 2013-06-07
今日: 2008-06-18
昨日: 2013-06-06
明日:2013-06-08
1週間後: 2013-06-14
1週間と2日と4時間2秒後: 2013-06-16 18:18:29
次の木曜日: 2013-06-13
先週の月曜日: 2013-06-03
1 か月前: 2013-05-07
1か月後: 2013-07-07
10年後: 2023-06-07

日付の加算関数と減算関数をいくつか見てみましょう

コードは次のとおりです コードをコピー

//曜日を取得します(1-7)
関数 GetWeek($times)
{
$res = date('w', strtotime($times));
if($res==0)
$res=7;
$res を返します;
}
// その日の時刻を取得します
関数 GetTime($times)
{
$res = date('H:i', strtotime($times));
$res を返します;
}
//今すぐ数か月以内に時間を確保してください
関数 GetMonth($Month,$type='l')
{
if(!strcmp($type,'b'))
$res=date("Y-m-d H:i:s",strtotime("-$Month months"));
if(!strcmp($type,'l'))
$res=date("Y-m-d H:i:s",strtotime("+$Month months"));
$res を返します;
}
// 現在時刻を取得します
関数 GetCurrentDateTime()
{
$res=date("Y-m-d H:i:s",time());
$res を返します;
}
// 現在の時間間隔の前後の時間を取得します
関数 GetDiffHours($hours,$type='l')
{
if(!strcmp($type,'b'))
$res=date("Y-m-d H:i:s",strtotime("-$hours 時"));
if(!strcmp($type,'l'))
$res=date("Y-m-d H:i:s",strtotime("+$hours 時"));
$res を返します
}
// 間隔の前後の時間 (分単位)
関数 GetDiffMinute($Minute,$type='l')
{
if(!strcmp($type,'b'))
$res=date("Y-m-d H:i:s",strtotime("-$Minute 分"));
if(!strcmp($type,'l'))
$res=date("Y-m-d H:i:s",strtotime("+$Minute 分"));
$res を返します
}
// 間隔の前後の時間 (秒単位)
関数 GetDiffSec($sec,$type='l')
{
if(!strcmp($type,'b'))
$res=date("Y-m-d H:i:s",strtotime("-$sec 秒"));
if(!strcmp($type,'l'))
$res=date("Y-m-d H:i:s",strtotime("+$sec 秒"));
$res を返します
}

//数週間の前後の時間
関数 GetDiffWeek($Week,$type='l')
{
if(!strcmp($type,'b'))
$res=date("Y-m-d H:i:s",strtotime("-$Week 週"));
if(!strcmp($type,'l'))
$res=date("Y-m-d H:i:s",strtotime("+$Week 週"));
$res を返します
}
// 日と日の間の時間
関数 GetDiffDays($days,$type='l')
{
if(!strcmp($type,'b'))
$res=date("Y-m-d H:i:s",strtotime("-$days day"));
if(!strcmp($type,'l'))
$res=date("Y-m-d H:i:s",strtotime("+$days day"));
$res を返します
}
//数年ぶりの前後の時間
関数 GetDiffyears($year,$type='l')
{
if(!strcmp($type,'b'))
$res=date("Y-m-d H:i:s",strtotime("-$year year"));
if(!strcmp($type,'l'))
$res=date("Y-m-d H:i:s",strtotime("+$year year"));
$res を返します
}

www.bkjia.comtru​​ehttp://www.bkjia.com/PHPjc/631270.html技術記事今日は、PHP で 2 つの時刻間の時間差を計算する方法を見ていきます。以下では、data、strtotime、time の 3 つの関数を直接使用して実装します。 今日は...
についてお話します
声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。