Прежде всего int
не может хранить дроби, поэтому вы, вероятно, захотите использовать float
или double
.
Но почему вы делите на 1000
.$seconds_diff
состоит из секунд , поэтому деление на 60
даст вам долю минуты.
Например: если $seconds_diff
является значением 13
[секунд]:
$duration_in_minutes = round($seconds_diff / 60, 2);
$duration_in_milliseconds = $seconds_diff * 1000;
Если ваша цель - использовать миллисекунды , тогда используйте microtime()
вместо time()
: http://php.net/manual/de/function.microtime.php
Рекомендация
Просто измерьте время с помощью microtime()
и сохраните результат непосредственно в базе данных без округления, деления или форматирования.Затем выполните форматирование, когда вам придется его выводить.Это даст вам более точные результаты и больше свободы.
$start_time = microtime();
…
$end_time = microtime();
$duration = $end_time - $start_time; // duration in milliseconds --> save to database
При выводе, например:
$duration = get_duration_from_database(); // pseudo function
printf('%.2f minutes', $duration / 1000 / 60);