Php 从日期中减去6小时(';g:ia';,strotime($time#date#data));

Php 从日期中减去6小时(';g:ia';,strotime($time#date#data));,php,date,Php,Date,我正在使用下面的代码将通用时间代码转换为用户友好的代码 $meeting_time = date('g:i a', strtotime($time_date_data)); 但现在我需要从会议时间中减去6小时。我应该在上面的代码之后执行,还是可以将其转换为相同的日期函数 比如: $meeting_time = date('g:i a' - 6, strtotime($time_date_data)); 试试这个: // 6 hours, 3600 seconds in an hour $me

我正在使用下面的代码将通用时间代码转换为用户友好的代码

$meeting_time = date('g:i a', strtotime($time_date_data));
但现在我需要从会议时间中减去6小时。我应该在上面的代码之后执行,还是可以将其转换为相同的日期函数

比如:

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

// 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($time_date_data));
date_add($meeting_time, - date_interval_create_from_date_string('6 hours'));
String to time(strotime)返回一个Unix时间戳,单位为秒(从历元开始),因此在将其转换回指定的日期格式之前,您可以简单地减去21600秒。

另一种方法:

$meeting_time = date('g:i a', strtotime('-6 hours', strtotime($time_date_data)));
OO PHP的方式:

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

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

谢谢你的解释+1检查。这个答案对我来说在时间计算上更精确。谢谢你,mc10。
$date = new DateTime('2017-01-20'); // pass $time_date_data to here
$date->sub(new DateInterval('PT6H'));