Intereting Posts
PHP Вызов self по нестационарному методу Не удалось подключиться к серверу PHP Adaptive Server (серьезность 9) Переименуйте загруженный файл с помощью PHP, но сохраните расширение PHP отправки переменных в файл_get_contents () Выберите часть из поля MySQL Blob Получение файла на сервере, изменение размера с помощью PHP GD2, соображения безопасности Сделать изображение (изображение на изображение) определенной шириной, но неограниченной длиной? Как интегрировать prestashop с Android? Показывать всплывающее окно при закрытии браузера Показать случайный DIV при каждой загрузке страницы (для модального модальности) Сохранение данных в базе данных в yii2 во время действия загрузки файлов Laravel: включить учетную запись пользователя Sentry на нескольких компьютерах Каков правильный способ проверить, возвратили ли mysql_query () какие-либо результаты? Известная проблема с PHP-сессией IE 8? Изменить URL-адрес ответа без перенаправления

Получить время из строки даты / времени

У меня есть значение даты, хранящееся в переменной. Мне нужно извлечь временную часть значения в отдельную переменную, а затем добавить / вычесть из нее время.

Переменная даты задается с датой («YmdHis»), давая (например) 20110805124000 на 5 августа 2011 года, 12:40:00

Из значения 20110805124000 (которое хранится в переменной $ fulltime) мне нужно сохранить время только в формате 12:40 (поэтому игнорируем год, месяц, день и секунды и добавляем двоеточие между часами и минутами) в переменная, называемая $ shorttime. Затем мне нужно добавить к этому времени несколько часов (так, например, +3 часа изменит значение в переменной $ shorttime до 15:40). Количество часов, которые мне нужно добавить, хранится в переменной с именем $ addtime, и это значение может быть отрицательным числом.

Это легко выполнимо? Может ли кто-нибудь помочь?

Благодаря 🙂

Для решения PHP <5.0:

<?php $fulltime = '20110805124000'; $addtime = -5; $time = substr($fulltime,8,2).":".substr($fulltime,10,2); $time = date("H:i",strtotime($time) + ($addtime*3600)); echo $time; ?> 
 $time = '2013-01-22 10:45:45'; echo $time = date("H:i:s",strtotime($time)); 

Это даст время 10:45:45 с даты и времени.

 <?PHP $addhours = 3; $date = DateTime::createFromFormat('YmdHis', '20110805124000'); $shorttime = $date->format("H:i"); $newdate = $date->add(DateInterval::createFromDateString($addhours . "hours")); $newtime = $newdate->format("H:i"); echo $shorttime . "<br />"; echo $newtime . "<br />"; ?> 

для вашей справки:

http://www.php.net/manual/en/datetime.createfromformat.php

http://www.php.net/manual/en/dateinterval.createfromdatestring.php