Intereting Posts
Как установить третий оператор в String, который добавляет текст «Uhr»? Изменить элементы при нажатии кнопки? Библиотека кэша файлов для PHP PHP предназначен как css, но используется как текст MIME text / html Насколько точны GeoIP и $ _SERVER ? Недопустимое имя файла шрифта (imagettfbox) Функция шифрования / дешифрования codeigniter возвращает пустую строку Не удалось установить соединение Swift_TransportException с узлом smtp.gmail.com Являются ли htmlentities () и mysql_real_escape_string () достаточно для очистки ввода пользователя в PHP? Yii 1.1.3 установка выбранного значения зависимого выпадающего списка Что это значит? "Ошибка анализа: синтаксическая ошибка, неожиданный T_PAAMAYIM_NEKUDOTAYIM" Codeception, настроить тестовый путь пакета Разбиение массива на переменные в php Аккаунт Bootstrap Active для модальных скрытых Можно ли использовать JQuery для вставки закрывающего тега </ tr> и тэга открытия <tr> внутри динамической таблицы?

путаница с добавлением 2 временных значений

В принципе, все это время меня расстраивает, я новичок в программировании, поэтому я извиняюсь, если задаю глупый вопрос.

У меня есть MySQL time (), хранящийся в моей базе данных. Я хочу добавить это время в текущее время, чтобы установить целевое время.

$ duration – 06:00:00. (Время MySQL)

$length = strtotime($duration); $timestart = time(); $target = $length + time(); // merely to check if im getting correct values. echo "</br>duration: ".date('G:i:s', $length)."<br/>"; echo "current time:".date('G:i:s', $timestart)."<br/>"; echo "target time:".date('G:i:s', $target)."<br/>"; 

В настоящее время я получаю это (не 6 часов):

продолжительность: 6:00:00
текущее время: 15: 51: 44
целевое время: 19: 51: 44

Может кто-нибудь, пожалуйста, объясните это мне.

Большое спасибо,

Solutions Collecting From Web of "путаница с добавлением 2 временных значений"

strtotime преобразует его в strtotime времени unix. Он НЕ представляет шесть часов. Сегодня это 6AM. Вы должны работать с секундами:

 $duration = '06:00:00'; $duration_array = explode(':', $duration); $length = ((int)$duration_array[0] * 3600) + ((int)$duration_array[1] * 60) + (int)$duration_array[2]; $target = $length + time(); 

Я не слишком хорошо знаком с mySql, но, возможно, вы можете попробовать

 $target = strtotime($length) + time(); 

Strtotime распространяет там дату, что-то вроде «6PM сегодня», вместо 6 часов, как вы планируете. Самый простой способ сделать это – запустить

 time() + (6 * 3600); 

Где 6 часов, а 3600 – количество секунд в каждом часе.