datetime — переменные Php для арифметических операций, время добавления

я не могу умножить простую строку в арифметической операции «*», добавляя минуты в переменную, тестирование с целыми числами работает отлично, любая идея. Спасибо

$minu = intval("2");
$timestring = "00:02:42";

$futureTime = strtotime($timestring) + (60*2); // works fine adding two minutes
$futureTime = strtotime($timestring) + (60 * $minu); // doesn't work and returns same value

$formatTime = date("H:i:s", $futureTime);

echo $formatTime; /// 00:04:42 /// ok

//// NOW i concatenate and storage in DB like this value triming : "1".000412."000"//// Operation no ejecute when (60 * $minu) with this output 00:02:42

1

Решение

Результат верный:

   $minu = intval("2");
$timestring = "00:02:42";

$futureTime =  strtotime($timestring) + (60 * $minu);

$formatTime = date("H:i:s", $futureTime);
echo $formatTime; // 00:04:42
echo $futureTime; //1411617882
1

Другие решения

Ваш код будет иметь тот же результат, что и мой код ниже:

 echo date("H:i:s", strtotime("00:02:42") + (60 * intval('2')));
0

попробуй это:

$futureTime =  strtotime($timestring) + (60 * $minu);
$formatTime= DateTime::createFromFormat('H:i:s', $futureTime );
0

Легко исправить, убедитесь, что переменные верны;) [Вы повторяете неправильную]

Лично я бы использовал Carbon. У вас будет много головной боли в будущем!
https://github.com/briannesbitt/Carbon

Пример углерода:

$minutes = 2;
$time = '00:02:42'
$carbon = Carbon::parse($time)->addMinutes($minutes);
echo $carbon->format('H:i:s');
0
По вопросам рекламы ammmcru@yandex.ru
Adblock
detector