質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.48%
PHP

PHPは、Webサイト構築に特化して開発されたプログラミング言語です。大きな特徴のひとつは、HTMLに直接プログラムを埋め込むことができるという点です。PHPを用いることで、HTMLを動的コンテンツとして出力できます。HTMLがそのままブラウザに表示されるのに対し、PHPプログラムはサーバ側で実行された結果がブラウザに表示されるため、PHPスクリプトは「サーバサイドスクリプト」と呼ばれています。

Q&A

解決済

3回答

3922閲覧

時間を01:00:00→60:00で表示したい

smnsmn

総合スコア175

PHP

PHPは、Webサイト構築に特化して開発されたプログラミング言語です。大きな特徴のひとつは、HTMLに直接プログラムを埋め込むことができるという点です。PHPを用いることで、HTMLを動的コンテンツとして出力できます。HTMLがそのままブラウザに表示されるのに対し、PHPプログラムはサーバ側で実行された結果がブラウザに表示されるため、PHPスクリプトは「サーバサイドスクリプト」と呼ばれています。

0グッド

1クリップ

投稿2016/03/31 10:38

編集2016/03/31 10:59

PHPを使っています。

DBに、
時:分:秒
00:40:93
01:32:09
00:15:34
00:30:50
01:00:33
のように、時間を保存しています。

これを表示させるときに、1時間を超えているものは
01:32:09→92:09
01:00:33→60:33
のように分表示し変換したいのですが、方法はありますでしょうか?
DBに保存する段階で60分形式にしておかないとダメでしょうか?

もし解決方法がありましたら、よろしくお願い致します。m(__)m

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

ao_love

2016/03/31 10:53

分変換というのなら 01:32:09→92:09 となるのが順当なような気がするのですが、 分:分 60:32 という表記なのですか?
smnsmn

2016/03/31 10:59

申し訳ありません、修正致しました。
guest

回答3

0

ベストアンサー

安直ですが、こんな感じで変換するのをつくってやるのかなあ
// $jikan に hh:mm:ss形式の文字列で設定されてる前提
function my_time($jikan) {
$ar = explode(':', $jikan);
$n = intval($ar[0]) * 60 + intval($ar[1]);
return $n . ':' . $ar[2];
}

投稿2016/03/31 11:32

takasima20

総合スコア7458

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

smnsmn

2016/05/19 14:53

遅くなり、申し訳ありません。 回答ありがとうございます。 わかりやすい計算と処理で大変助かりました!m(__)m また、勉強になりました。 その他回答くださった皆様、大変参考になりました。 ありがとうございました!m(__)m
guest

0

処理速度は無駄になりますが、DateTime型にしてしまえば
取り扱いも簡単で読みやすくなるのでいかがでしょうか。

php

1// 対応バージョン:(PHP 5 >= 5.2.0, PHP 7) 2echo hhmmss_to_mmss("01:32:09"); 3 4/** 5 * HH:II:SS の形式を II:SS (HHを60分としてIIに加算)形式に変換する 6 * @param string $hhiiss HH:II:SS形式の文字列(HH = 0~23, II = 0~59, SS = 0~59) 7 */ 8function hhmmss_to_mmss($hhiiss) 9{ 10 $dt = new DateTime("2000-01-01 ".$hhiiss); // "2000-01-01 "はダミー値で、固定です。 11 $ii = $dt->format('i') + ($dt->format('H') * 60); 12 $ss = $dt->format('s'); 13 return sprintf('%02d:%02d', $ii, $ss); 14}

↓出力結果
92:09

投稿2016/04/01 05:54

rkojima

総合スコア421

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

0

大切なのは後からくる人への思いやりというコード

PHP

1$criteria = "2016-03-30 00:00:00"; 2 3echo getDiff($criteria, "2016-03-30 01:32:09") . "<br>\n"; 4echo getDiff($criteria, "2016-03-30 01:00:33") . "<br>\n"; 5echo getDiff($criteria, "2016-04-10 01:00:33") . "<br>\n"; 6 7function getDiff($criteria, $target){ 8 $c_timestamp = strtotime($criteria); 9 $t_timestamp = strtotime($target); 10 11 $diff = $t_timestamp - $c_timestamp; 12 13 return floor($diff / 60) . ":" . sprintf("%02d", ($diff % 60)); 14}

投稿2016/03/31 13:10

編集2016/03/31 13:12
退会済みユーザー

退会済みユーザー

総合スコア0

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.48%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問