投稿者 メッセージ
<  PHPプログラミング  ~  "秒"表示を"日時分"表示に変換させる。
mutts
投稿1時間: 火 10月 10, 2006 9:45 pm  引用



登録日: 2006年10月 10日
投稿記事: 1

最終更新からの時間を日時表示させたいのです。
最終更新時間かrの"秒"は取得できているのですが、
それを日時分に変換する方法が分からなくて困っています。

例えば
最終更新時間からの時間が
184205秒だった場合、
これを
2日3時間10分5秒
と変換させて表示させたいのです。

また、1日、1時間に満たない場合は
"日"や"時"を表示させないようにもしたいと考えています。

参考URLなどご存知のかたご教授お願いします。
トップに移動
ユーザー情報を表示 メッセージを送信
117
投稿1時間: 土 12月 02, 2006 5:06 am  引用



登録日: 2006年12月 02日
投稿記事: 1

Code:
<?php
function Sec2Day($total_sec){
$day = (60*60)*24;    //秒*分*時間=日
$hour = 60*60;       //秒*分=時間
$min = 60;       //分
$serch_day = floor($total_sec / $day);         // 184205 / 86400 = 2.1320023 -> 切り捨てで 2 日
$diff_day = $total_sec - $serch_day * $day;      //184205 - 2 * (24*(60*60)) = 11405
$serch_hour = floor($diff_day / $hour);         // 11405 / (60*60) = 3.1680555 -> 切り捨ててで 3 時間
$diff_hour  = $diff_day - $serch_hour * $hour;   // 11405 - (3 *60*60) = 605
$serch_min = floor($diff_hour / $min);         //605 / 60 = 10.08333 ->切り捨てで 10 分
$sec = $diff_hour - ($serch_min * $min);      // 605 - 10*60 = 5 -> 5秒

if ($serch_day < 1) {
 $dms =  $serch_hour."時間".$serch_min."分".$sec."秒"
} else {
 $dms =  $serch_day."日".$serch_hour."時間".$serch_min."分".$sec."秒"
}

return $dms;
}

?>

<? echo Sec2Day(184205); ?>


こんなんでどうでしょうか?
検証していないので、エラーがあったらすみません。
使いやすいように改造変更してみてください。
トップに移動
ユーザー情報を表示 メッセージを送信
特定期間内の記事を表示:   
All times are GMT +9:00

次のトピックを表示
前のトピックを表示
Page 1 of 1
フォーラム一覧  ~  PHPプログラミング

トピックの新規投稿   返信


 
移動先:  

新規投稿: 不可
返信: 不可t
自分の記事の編集: 不可
自分の記事の削除: 不可
投票への参加: 不可




Powered by phpBB
customized by phpspot.