вычесть 6 часов с даты ('g: i a', strtotime ($ time_date_data));

Я использую следующий код для преобразования универсального временного кода в нечто более удобное для пользователя.

$meeting_time = date('g:i a', strtotime($time_date_data)); 

Но теперь мне нужно вычесть 6 часов от meeting_time. Должен ли я сделать это после кода выше или я могу работать с ним в ту же функцию даты?

Что-то вроде:

 $meeting_time = date('g:ia' - 6, strtotime($time_date_data)); 

 $meeting_time = date('g:i a', strtotime($time_date_data) - 60 * 60 * 6); 

String-to-time (strtotime) возвращает Unix Time Stamp, который находится в секундах (начиная с Epoch), поэтому вы можете просто вычесть 21600 секунд, прежде чем преобразовывать его обратно в указанный формат даты.

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

 // 6 hours, 3600 seconds in an hour $meeting_time = date('g:i a', strtotime($time_date_data) - 6 * 3600); 

Другой подход:

 $meeting_time = date('g:i a', strtotime('-6 hours', strtotime($time_date_data))); 

Вы должны быть в состоянии сделать это:

 $meeting_time = date('g:i a', strtotime($time_date_data)); date_add($meeting_time, - date_interval_create_from_date_string('6 hours')); 

Путь OO PHP:

 $date = new DateTime(); // current time echo 'Current: '. $date->format('Ymd H:i:s') . "\n"; $date->sub(new DateInterval('PT3H55M10S')); echo $date->format('Ymd H:i:s') . "\n"; 

Для sustract 6 часов:

 $date = new DateTime('2017-01-20'); // pass $time_date_data to here $date->sub(new DateInterval('PT6H'));