time перевести в double формат

Nika84

Новичок
Подскажите как мне перевести время (заданные часы и минуты 1ч 45мин) в число типа double.
Заранее большое спасибо.
 

Breeze

goshogun
Команда форума
Партнер клуба
а точнее?
я тебе могу дать вагон вариантов получения чисел из времени, но все числа будут разные
 

Nika84

Новичок
у меня есть форма в которой задаем время пр. 1ч 15мин, эти данные мне нужно сохранить в таблицы как число типа double
 

Breeze

goshogun
Команда форума
Партнер клуба
вот тебе простейшая формула:

часы*3600 + минуты*60 + секунды = секунды

а уж как int в double перевести через приведение типов думаю догадаешься, а в таблицу тем более, согласно твоей БД
 

Nika84

Новичок
а как мне эту переменную в которую я буду записывать данные из формы в time перевести, и мне нужны только часы и минуты (в таком формате 1ч 5мин)
 

Breeze

goshogun
Команда форума
Партнер клуба
две операции: деление и вычитание
напомню, что в часе 3600 секунд, в минуте 60
 

Nika84

Новичок
я наверное не правильно сформулировала мне нужно мою переменную $stunde = $_POST['stunde']; представить в виде $datum_format = date('Y-m-d',strtotime($datum)); только вместо даты мне нужно время (часы и минуты), а потом уже из этой переменной брать часы и минуты и выполнять действия, как это сделать
 

Breeze

goshogun
Команда форума
Партнер клуба
хорошо поставленный вопрос уже содержит в себе часть ответа и сильно облегчает жизнь читающим и отвечающим
 

Nika84

Новичок
я сделала вот так
PHP:
$stunde = $_POST['stunde'];
$stunde_format = strftime('H,i',$stunde);
он мне выдает ошибку Notice: A non well formed numeric value encountered
 

Фанат

oncle terrible
Команда форума
идея хранить время как число с плавающей точкой вида "часы,минуты" тянет на нобелевку.
 

Nika84

Новичок
PHP:
$zeit = $_POST['zeit'];
$stunde = idate('H', $zeit);
$minuten = idate('i', $zeit);
$stunde_format = strtotime(''.$stunde.'h '.$minuten.'m',$zeit);						
$zeit_format = $stunde + ($minuten/60);
показывает ошибки $minuten $stunde, как их нужно задать
 

radioheaded

PHP нуб
Если я правильно понял, то проблема только в том, чтобы распарсить строку "1ч 20мин", получив из нее [1, 20], нет?
 

Nika84

Новичок
я задаю в форме, что например отработала 2ч 50мин (2,833333), мне нужно это время перевести в число и потом дальше работать с этим числом
 

radioheaded

PHP нуб
Ну если примерно так, тогда примерно так.
PHP:
$stime = '1час 30мин';
list($shours, $smins) = explode(' ', trim($stime));
$hours = mb_substr($shours, 0, -3);
$mins = mb_substr($smins, 0, -3);
А дальше простая арифметика, которую вам тут уже разжевали подробно.
 

Nika84

Новичок
PHP:
$stime = $_POST['zeit'];
list($shours, $smins) = explode(' ', trim($stime));
$hours = mb_substr($shours, 0, -3);
var_dump($hours);
$mins = mb_substr($smins, 0, -3);
var_dump($mins);
всеравно не получаеся var_dump($hours) выдает string(0) "",var_dump($mins) выдает string(0) ""
 

radioheaded

PHP нуб
Покажите
PHP:
var_dump($_POST['zeit']);
Вообще, я надеялся, что вы в PHP разбираетесь немного.
 
Сверху