Intereting Posts
Перенаправление с HTTP на HTTPS с помощью PHP Ошибка MySQL / PHP: Разрешено только одно использование каждого адреса сокета (протокол / сетевой адрес / порт) Почему загрузка изображения завершается ошибкой is_uploaded_file php? как эхо имя каталога Почему вы не используете C для своих веб-приложений? ветка для построения ветвей в петле MySQL вставляет дубликаты ключевых обновлений API Twitter возвращает NULL на XAMPP Idiot-proof, cross-browser force скачать в PHP Почему PHPStorm говорит «dyld: библиотека не загружена: /usr/local/lib/libpng15.15.dylib», когда я запускаю тесты? Неустранимая ошибка: вызов неопределенной функции: imagecreate () Не удалось подключиться к почтовому серверу на порту «localhost» 25, проверьте настройки «SMTP» и «smtp_port» в php.ini или используйте ini_set () Как использовать file_get_contents на сайте Ajax Отображение выбранных значений в поле Multiselect Как удалить объект PHP из своего класса?

PHP, нужно вычесть 12 часов и 30 минут из DateTime

У меня есть переменная PHP DateTime .

Как я могу сократить или вычесть 12 часов и 30 минут с этой даты на этапе выполнения PHP?

Solutions Collecting From Web of "PHP, нужно вычесть 12 часов и 30 минут из DateTime"

Вычитает 12 часов и 30 минут от DateTime в PHP:

 $date = new DateTime(); $tosub = new DateInterval('PT12H30M'); $date->sub($tosub); 

P обозначает период. T обозначает Timespan.

См. DateTime , DateTime :: sub и DateInterval в руководстве по PHP. Разумеется, вам нужно будет установить DateTime на соответствующую дату и время.

Попробуйте:

 $date = new DateTime('Sat, 30 Apr 2011 05:00:00 -0400'); echo $date->format('Ymd H:i:s') . "\n"; $date->sub(new DateInterval('PT12H30M')); echo $date->format('Ymd H:i:s') . "\n"; 

// Результат

 2011-04-30 05:00:00 2011-04-29 16:30:00 

Попробуйте strtotime() :

  $ source_timestamp = strtotime («Сб, 30 апр 2011 05:00:00 -0400»);
 $ new_timestamp = strtotime («- 12 часов 30 минут», $ source_timestamp);
 дата печати ('r', $ new_timestamp); 

попробуйте использовать это вместо этого

 //set timezone date_default_timezone_set('GMT'); //set an date and time to work with $start = '2014-06-01 14:00:00'; //display the converted time echo date('Ymd H:i',strtotime('+1 hour +20 minutes',strtotime($start))); 

Сохраните его в объекте DateTime а затем используйте метод DateTime::sub чтобы вычесть временной интервал.

Использование просто strtotime

 echo date("Ymd H:i:s",strtotime("-12 hour -30 minutes")); 

Использование класса DateTime

 $date = new DateTime("-12 hour -30 minutes"); echo $date->format("Ymd H:i:s"); 

Вот подробное описание функции даты,