2017-10-19 133 views
-2

我有这样的代码:的strtotime减去小时和分钟

<?php 
    $date = date('Y-m-d H:i:s', strtotime('-6 hours', (int)get_the_time('U'))); 
    echo $date; 
?> 

,你可以看到的时间是从时间减去6小时改变,我想要什么减去小时,也分钟,所以我想这:

<?php 
    $date = date('Y-m-d H:i:s', strtotime('-6 hours', '-23 minutes', (int)get_the_time('U'))); 
    echo $date; 
?> 

但是不工作,任何想法?

预先感谢您

+1

[PHP,使用strtotime从日期时间变量中减去分钟数?]的可能重复(https://stackoverflow.com/questions/11688829/php-use-strtotime-to-subtract-minutes-from-日期时间变量) –

+0

'strtotime'只接受2个参数,而不是3个。将小时和分钟放入同一个字符串。 – deceze

回答

2

strtotime功能期待只有2个参数。

int strtotime (string $time [, int $now = time() ]) 

所以,你应该尝试采用以下格式:

$date = strtotime('-6 hours, -43 minutes', $time); 

测试的代码:

<?php 
$time = time(); 
$date = strtotime('-6 hours', $time); 
echo date('d-m-y H:i', $time); 
echo date('d-m-y H:i', $date); 


$date = strtotime('-6 hours, -43 minutes', $time); 
echo date('d-m-y H:i', $time); 
echo date('d-m-y H:i', $date); 

输出:

19-10-17 00:44 
18-10-17 18:44 

19-10-17 00:44 
18-10-17 18:01 
0
$time=time(); 
$datetime_from = date("Y-m-d H:i", strtotime("-43 minutes", strtotime("-6 hours",$time))); 
+1

看看我的答案。 因为代码越少越好;) –