タイムスタンプを0時に変更する方法

サウンドクリエイション

2011年12月29日 18:31

システム案件のためPHPでプログラミング中です

日付に関する処理で、タイムスタンプ数値を0:00ジャストへ変更する関数を作成


function timetodate($a){
//タイムスタンプを現在日付0:00ジャストへ変換(間違いです)
$a=floor($a/86400)*86400;
return $a;
}


1日の秒数をあらわす86400で割り算して、少数を切り捨て、86400を後で掛け算して戻す方法
echo date("Y/m/d/G/i", timetodate(time()));
で表示させると。。

2011/12/29/9/00

ん?9時?

グリニッジ標準時は0時らしいですが、日本はその時9時らしいです。
今回の処理は初めてだったので、おっとそうでしたか!みたいな感じです


正しい処理は以下のようになります

function timetodate($a){
//タイムスタンプを現在日付0:00ジャストへ変換
$a=floor(($a-32400)/86400)*86400;
return $a;
}


年末はプログラミング漬けになりそうです

関連記事