昨日の0時のunixタイムスタンプをphpで得る

 昨日の自分のツイート一覧をブログに書き込むスクリプトのパーツとして考えた。数学関数だけでやるのとPHPの関数を使うのと、どっちがスマートかなあ。

 <?php
$hour = 3600;
$gap = 9;
$yesterday0 = floor((time() + $hour * $gap - $hour *24)/($hour * 24) ) * $hour * 24 - $hour * $gap;
echo $yesterday0 . PHP_EOL;
echo date("r",$yesterday0) . PHP_EOL;

unset($yesterday0);
echo  PHP_EOL;

$yesterday = strtotime("-1 day");	#丸1日前のuxniタイムスタンプ
$yesterday0 = mktime(0,0,0,date("n",$yesterday),date("j",$yesterday) ,date("Y",$yesterday));
echo $yesterday0 . PHP_EOL ;
echo date("r",$yesterday0) . PHP_EOL;
?>

 いつもながらだけど、mktime関数の引数、なんでこんな順番やねん。

追記

 もっとはるかに簡単に書けた。
doroyamada.hatenablog.jp