从日期开始减去6小时(' g:我是',strtotime($ time_date_data));

时间:2011-11-21 15:23:21

标签: php date

我使用以下代码将通用时间代码转换为更加用户友好的代码。

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

但是现在我需要从meeting_time减去6个小时。我应该在上面的代码之后执行此操作,还是可以将其用于相同的日期函数?

类似的东西:

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

5 个答案:

答案 0 :(得分:23)

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

String-to-time(strtotime)返回一个Unix时间戳,以秒为单位(自Epoch开始),因此您可以简单地减去21600秒,然后再将其转换回指定的日期格式。

答案 1 :(得分:6)

试试这个:

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

答案 2 :(得分:6)

另一种方法:

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

答案 3 :(得分:3)

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'));

答案 4 :(得分:2)

你应该可以这样做:

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