投稿者 |
メッセージ |
|
< PHPプログラミング ~ "秒"表示を"日時分"表示に変換させる。 |
|
時間:
火 10月 10, 2006 9:45 pm
|
|
|
登録日: 2006年10月 10日
投稿記事: 1
|
|
最終更新からの時間を日時表示させたいのです。
最終更新時間かrの"秒"は取得できているのですが、
それを日時分に変換する方法が分からなくて困っています。
例えば
最終更新時間からの時間が
184205秒だった場合、
これを
2日3時間10分5秒
と変換させて表示させたいのです。
また、1日、1時間に満たない場合は
"日"や"時"を表示させないようにもしたいと考えています。
参考URLなどご存知のかたご教授お願いします。 |
|
|
|
|
|
|
|
時間:
土 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); ?>
|
こんなんでどうでしょうか?
検証していないので、エラーがあったらすみません。
使いやすいように改造変更してみてください。 |
|
|
|
|
|
|
|
|
新規投稿: 不可 返信: 不可t 自分の記事の編集: 不可 自分の記事の削除: 不可 投票への参加: 不可
|
|