時間を丸められた時間に変換したい。
したがって、間隔を秒単位で使用したいだけです。15 分の 1 時間と 1 時間のフルタイムに適しています。しかし、何日もの間ではありません。それからめちゃくちゃです。しかし、私は理由を理解することはできません
これは私の機能です:
function formatToMySQLTime($sTime,$iInterval){
switch ($iInterval){
case 1: // 15 minutes;
$iDivider = 15 * 60;
break;
case 2: // 1 hour
$iDivider = 60 * 60;
break;
case 3: // 1 day
$iDivider = 60 * 60 * 24;
break;
}
$iRemainder = strtotime($sTime) % $iDivider;
$iRoundTime = strtotime($sTime) - $iRemainder;
$sTime = date('Y-m-d H:i:s', $iRoundTime);
return $sTime;
}
出力は次のとおりです。
echo formatToMySQLTime('2013-10-21 03:23:00',1);
2013-10-21 03:15:00
echo formatToMySQLTime('2013-10-21 03:23:00',2);
2013-10-21 03:00:00
echo formatToMySQLTime('2013-10-21 03:23:00',3);
2013-10-21 02:00:00
3 番目の出力は間違っています2013-10-21 00:00:00
。私の間違いは何ですか?