PHP当前时间(小时):分钟

时间:2018-01-07 15:39:34

标签: php date datetime timestamp

我希望有2个变量,当前时间以小时为单位:分钟,还有一个有+15分钟的变量。但首先我还要增加+6小时。

例如,现在它是2018-01-07 16:35:10。所以首先我加上+6个小时。所以它将是2018-01-07 22:35:10。接下来,我想只提取小时:分钟。

我只想得到" 22:35"改变。

下一个变量,我想要22:35 +15分钟,所以22:50。

所以我有$dateNow = 22:35$dateThen = 22:50

到目前为止,我已经尝试了这个以获得当前时间和+6小时,但它无法正常工作。错误:Call to a member function format() on integer

$now = strtotime(date("Y-m-d H:i:s")." +6 hours");
$then = $now->format('H:i');
echo $then;

3 个答案:

答案 0 :(得分:1)

我认为在这种情况下,使用PHP的DateTime类会非常有用。您的代码问题是strtotime返回一个int而不是DateTime对象。

我修改了你的代码以便它可以工作:

$org = new DateTime("2018-01-07 16:35:10");
$then = $org->add(new DateInterval("PT6H"));
echo $then->format("H:i"),"<br>";
$afterThen = $then->add(new DateInterval("PT15M"));
echo $afterThen->format("H:i");

答案 1 :(得分:1)

包含DateTimeDateInterval个对象的简短解决方案:

$now = new DateTime();
$result = $now->add(new DateInterval('PT6H15M'))->format('H:i');

答案 2 :(得分:0)

试试这个:

$time = time() + 3600 * 6; // add 6 hours
$date = date("H:i", $time); // format date
$date_plus_15 = date("H:i", $time + 60 * 15); // format date and add 15 minutes

echo "Time: {$date} <br>";
echo "Time + 15 mins: {$date_plus_15}";

此处示例:https://ideone.com/ZR6cfy