从PHP中m-d-Y H:i:s格式的日期中减去2天

时间:2019-06-22 09:10:46

标签: php date datetime

我使用此代码获取当前日期:

$currentdate= date('m-d-Y H:i:s');

echo $currentdate; // prints 06-22-2019 11:02:49

要从当前日期减去两天,我使用以下代码:

 $date = date('m-d-Y H:i:s ', strtotime('-2 days', strtotime($currentdate)));
 echo $date; // print's 12-30-1969 01:00:00       

预期输出为06-20-2019 11:02:49 //基本要求只是日期应为当前日期-2天。 我在这里做错了什么?如果日期采用Y-m-d H:i:s格式,则此代码可完美工作。

3 个答案:

答案 0 :(得分:1)

检查php datetime格式是否没有m "-" d "-" y格式。

enter image description here

但是您可以使用M "-" d "-" yM "-" d "-" Y

Check live Example

Check More on Official Link

答案 1 :(得分:1)

$currentdate= date('m-d-Y H:i:s');
echo $currentdate; //gives 06-22-2019 14:58:55


$date = date('m-d-Y H:i:s ', strtotime('-2 days', strtotime(date('Y-m-d H:i:s'))));
echo $date;  //gives 06-20-2019 14:58:55

答案 2 :(得分:0)

因此,根据有关该问题的评论的建议,我可以通过将-替换为/来使用此代码获得输出:

$currentdate= date('m/d/Y H:i:s'); //prints 06/22/2019 11:26:05
$date = date('m/d/Y H:i:s ', strtotime('-2 days', strtotime($currentdate)));
echo str_replace('/', '-', $date);   //prints 06-20-2019 11:20:50 which is the desired output