php конвертировать число в минуты - PullRequest
2 голосов
/ 08 февраля 2012

Скажем, у меня есть переменная типа $speed = 5.5, какую формулу я бы использовал, чтобы преобразовать ее в минуты, так что в этом случае это будет 5 с половиной минут.

Мне нужно, чтобы это работало следующим образом:

date("Y-m-d H:i:s", strtotime("$now - $speed mins"));

В других примерах 2,25 будет преобразовано в 2 минуты 15 секунд, с 7:75 до 7 минут 45 секунд и т. Д.

У кого-нибудь есть идеи?Никогда не был любителем математики.

Ответы [ 4 ]

7 голосов
/ 08 февраля 2012

Просто сделайте это со вторым.

date('Y-m-d H:i:s', strtotime(sprintf('- %d second', $speed * 60)));

Если вы хотите большей точности, тогда

date('Y-m-d H:i:s', strtotime(sprintf('- %d second', round($speed * 60))));
1 голос
/ 08 февраля 2012

Вы также можете использовать собственный класс DateInterval PHP (требуется PHP 5.3) http://www.php.net/manual/en/dateinterval.createfromdatestring.php

С образцом:

$interval = DateInterval::createFromDateString('5.5 minutes');
echo $interval->format('%Y-%m-%d %H:%i:%s')
0 голосов
/ 08 февраля 2012
$minutes = floor($speed);
$seconds = ($speed - $minutes) * 60;
0 голосов
/ 08 февраля 2012

Может также метка времени Unix для дат и 3600 = 1 час.

Например, текущее время будет: $ timestamp = gmmktime ();

Таким образом, если вы хотите добавить «.5» (30 минут) к текущему времени, вы бы сказали, что $ timestamp + 1800. «.25» будет $ timestamp + 900.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...