subtrair 6 horas a partir da data (‘g: i a’, strtotime ($ time_date_data));

Estou usando o seguinte código para transformar um código de tempo universal em algo um pouco mais amigável.

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

Mas agora preciso subtrair 6 horas do meeting_time. Devo fazê-lo depois do código acima ou posso trabalhar na mesma function de data?

Algo como:

 $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) retorna um Unix Time Stamp que está em segundos (desde Epoch), para que você possa simplesmente subtrair os 21600 segundos, antes de convertê-lo novamente no formato de data especificado.

Tente isso:

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

Outra abordagem:

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

Você deve ser capaz de fazer isso:

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

O caminho do 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"; 

Para o período de 6 horas:

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