我使用以下代码将通用时间代码转换为更加用户友好的代码。
$meeting_time = date('g:i a', strtotime($time_date_data));
但是现在我需要从meeting_time减去6个小时。我应该在上面的代码之后执行此操作,还是可以将其用于相同的日期函数?
类似的东西:
$meeting_time = date('g:i a' - 6, strtotime($time_date_data));
答案 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'));