この様にstrtotime()を使うことで完全に数値化されるため、この状態なら四則演算もちゃんとした結果を返せるようになります。その結果を出すための元となる数値自体は基準値との差であるため、望んだ結果は返ってこないです。答えられる人はそういないと思います。この数値化した値を日付に戻す関数としてdate()とgmdate()があります。中身自体はほぼ同じなのですが違いとしてGMTに対応してるかどうか、というのがあります。$calc;こういう文があったとします。この場合、$calcには1時間差を示す3600(秒)が入り、それがそのまま表示されます。これをdate()でdatetime型に直してみます。$calc;今回は時間差のみを表示したいので'H:i:s'という表示フォーマットを使用します。本当なら01:00:00と表示してほしいところですね。これに3600秒が追加されて10:00:00が表示されてしまうわけですね。なっているのがgmdate()になります。これで時間差は表示できますが、この時間はあくまでdatetime型で、時間の部分だけを切り出して表示しているだけです。24時間を越えれば1日として繰り上がってしまうので時間のみを表示する手段としてはあまり向いてません。57:31:22のように24時間を越えても時間のみで表示したい場合は、残念ながら今のPHPではそんな関数は用意されてないようなので自力で関数を作るしかなさそうです。時間が秒単位になっているだけなので変換にそんなに苦労はしないと思います。$hour.':'.$minute.':'.$second;}0詰めしないならこんな書き方で十分でしょう。昨日もちらっとfloor()を使った気がしますが、これは小数点切り捨ての関数です。簡単に調べた程度ですがデータベースから時間を取得し、計算して結果を表示するまでの流れにもいろいろあるんですよね・・・1.SQLの時点で時間の計算をし、計算結果を取得してそれをそのまま表示。2.SQLで値だけを持ってきてプログラム上で時間計算用の関数やクラスを使って計算して表示。3.SQLで値だけを持ってきて秒の数値に直し、計算してから再び時間の表記に戻して表示。SQL文は長くなればなるだけ分かりにくさが上がるのでプログラム側の操作に慣れている人は1.は選ばない方がいいでしょう。プログラム側で計算手段を考えるのが面倒な人にはいいかもしれません。2.と3.はその逆でSQLが簡単になりますが、プログラムの行数が増えます。処理を関数化できるので同じ処理が何度も出てくる場合は有効と言えます。クラスを作るのが得意な人には向いているんじゃないでしょうか。16:52SQLのdatetimeをPHPで扱うにはTweet広告を非表示にする関連記事2018-04-11Go言語:AJAXでMySQLの結果をJSON化して受け取るせっかくWebサーバ立てやAJAXが簡単にできるので今回はDB(MySQ...2016-02-18Swiftの===は厳密比較ではない一応前回の続きです。Swiftのタプル(Tuple)と配列(Array)の違い今回はタプルと呼ばれるものについて。今回はちょっと数学的なお話。Found主に自分ではなくて別の方が引っ掛かっていた部分。»プロフィールid:stickpanゲームと音楽・作曲の自己満足と悩みどころの多いプログラムのブログ。(1)参加グループWindows開発者はてなブログをはじめよう!stickpanさんは、はてなブログを使っています。ブログを報告するスターをつけました引用をストックしましたストック一覧を見る閉じる引用するにはまずログインしてくださいログイン閉じる引用をストックできませんでした。再度お試しください閉じる限定公開記事のため引用できません。