これはハマった。。。
スケジュール表とかを作成するとき、時間の演算を行うんだけど、
時間だと日をまたぐときもそうだけど、変換変換で一苦労。。。
特に10:00とか06:00とかそのまま演算できればどんなに便利なことか。
そこでちょっと作成してみたので残しておきます。
演算した後時間に変換する感じです。
sprintf("%02d:%02d", floor(($i*30 - 30)/60), ($i*30 - 30)%60);
floor(($i*30 - 30)/60)
$iが4だと
(4×30 -30) / 60 = 1
floorで小数点以下切り捨て
($i*30 - 30)%60
ここで割った余り⇒30
最後sprintfで表示形成
01:30
スケジュール表とかを作成するとき、時間の演算を行うんだけど、
時間だと日をまたぐときもそうだけど、変換変換で一苦労。。。
特に10:00とか06:00とかそのまま演算できればどんなに便利なことか。
そこでちょっと作成してみたので残しておきます。
演算した後時間に変換する感じです。
sprintf("%02d:%02d", floor(($i*30 - 30)/60), ($i*30 - 30)%60);
floor(($i*30 - 30)/60)
$iが4だと
(4×30 -30) / 60 = 1
floorで小数点以下切り捨て
($i*30 - 30)%60
ここで割った余り⇒30
最後sprintfで表示形成
01:30