0
Я хочу сделать некоторые операции с двумя часами, хранящимися в варах. Сначала я конвертирую в миллисекунды, делаю операции, а затем конвертирую обратно в что-то читаемое. Кажется, что это работает, но окончательное число неверно. В этом примере это дает мне 1:30:00 разницы. Может кто-нибудь объяснить, почему?От строки до миллисекунд и обратно
// I have two hours that come from a MySql database and I store in a var:
$start= "16:00:00";
$end= "16:30:00";
// I convert to milliseconds and rest:
$startMili = strtotime($start);
$endMili = strtotime($end);
$dif = $endMili - $startMili ;
// convert to something readable:
echo "<br><br> diference: ";
$readable = date("H:i:s", $dif);
echo $readable;
_strtotime_ и _date_ функции предназначены для абсолютных отметок времени, а не интервалов! Дополнительный час может быть получен из настроек часового пояса (_date_default_timezone_set_). Может быть, вы можете использовать функцию _TIMEDIFF_ непосредственно в вашем SQL-запросе? –
Когда я пробую свой код, я получаю правильный результат от 0:30:00 – Perry
@Perry. Странно. Возможно, это часовой пояс, как говорит Петр. Я в Барселоне. Где ты? – Nrc