减去date()中的n值

时间:2014-03-21 02:05:39

标签: php date date-math

我想实现一个Javascript倒数计时器,其月份值减去1。

要通过PHP动态获取日期,请使用以下代码:

$date = "2014:3:19 00:00:00";
$newDate = date("Y, n, j, H, i", strtotime($date));

返回:

2014, 3, 9, 00

我的问题是如何将值n减去1,所以最终输出将始终如下:

2014, (3-1), 9, 00

3 个答案:

答案 0 :(得分:3)

这是DateTime()方法(我用破折号代替冒号,因为它是日期部分的正确分隔符):

$date = "2014-3-19 00:00:00";
$date = (new DateTime($date))->modify('-1 month')->format("Y, n, j, H, i");

$date = "2014-3-19 00:00:00";
$date = (new DateTime($date))->diff(new DateInterval('P1M'))->format("Y, n, j, H, i");

答案 1 :(得分:1)

如果你的意思是减去一个月,那么你可以这样做:

$date = "2014-3-19 00:00:00";
$newDate = date("Y, n, j, H, i", strtotime('-1 month', strtotime($date)));

2014, 1, 19, 00将是2013, 12, 19, 00,而不是2014, 0, 19, 00

<小时/> 的 更新

您想将日期传递给jQuery插件(jquery.magicbusmultimedia.net)。

该插件只会要求您传递javascript日期对象。

所以你可以这样做:

$('#myCounter').mbComingsoon(new Date(<?php echo strtotime($date); ?> * 1000));

答案 2 :(得分:0)

$ date =&#34; 2014-3-19 00:00:00&#34 ;; $ newDate = date(&#34; Y,n,j,H,i&#34;,strtotime(&#39; -1 month&#39;,strtotime($ date))); 2014年,1日,19日,00日将是2013年,12日,19日,但不是2014年,0日,19日。