その都度作っているような気がするので時間の計算を行うものを作って見た。
流れとしては
1.年月日時分秒を秒に変換
2.秒に変換したものを加減算することで差分を求める
という単純なもの。
// --------------------------------------------------
// 時間関数[差分]
// limittimeまでの秒数計算
// $targettime 求めたい時間の開始時間(yyyy-mm-dd hh:ii:ss)
// $limittime 求めたい時間(yyyy-mm-dd hh:ii:ss)
// --------------------------------------------------
function timediff($targettime, $limittime)
{
// ターゲット分解
$targetdivtimetmp = explode(" ", $targettime);
$targetdivtime['ymd'] = explode("-", $targetdivtimetmp[0]);
$targetdivtime['his'] = explode(":", $targetdivtimetmp[1]);
// mktimeで秒に変換
//時[h]・分[i]・秒[s]・月[m]・日[d]・年[y]、の順に入力
$targetsecond = mktime($targetdivtime['his'][0],$targetdivtime['his'][1],$targetdivtime['his'][2],$targetdivtime['ymd'][1],$targetdivtime['ymd'][2],$targetdivtime['ymd'][0]);
// リミット分解
$limitdivtimetmp = explode(" ", $limittime);
$limitdivtime['ymd'] = explode("-", $limitdivtimetmp[0]);
$limitdivtime['his'] = explode(":", $limitdivtimetmp[1]);
// mktimeで秒に変換
//時[h]・分[i]・秒[s]・月[m]・日[d]・年[y]、の順に入力
$limitsecond = mktime($limitdivtime['his'][0],$limitdivtime['his'][1],$limitdivtime['his'][2],$limitdivtime['ymd'][1],$limitdivtime['ymd'][2],$limitdivtime['ymd'][0]);
/*
* 計算
* 結果がプラスかマイナスかで判断
*/
$result_time = $target_second - $limit_second;
return $result_time;
}
関連記事