在PHP中添加三个月的date
我有一个名为$effectiveDate
的variables,其中包含date2012-03-26 。
我正在尝试增加三个月到这个date,并在它不成功。
这是我所尝试的:
$effectiveDate = strtotime("+3 months", strtotime($effectiveDate));
和
$effectiveDate = strtotime(date("Ymd", strtotime($effectiveDate)) . "+3 months");
我究竟做错了什么? 这两个代码的工作。
更改为此会给你预期的格式:
$effectiveDate = date('Ym-d', strtotime("+3 months", strtotime($effectiveDate)));
我假设“没有工作”,你的意思是它给你一个时间戳,而不是格式化的date,因为你做的是正确的:
$effectiveDate = strtotime("+3 months", strtotime($effectiveDate)); // returns timestamp echo date('Ym-d',$effectiveDate); // formatted version
您需要将date转换为可读的值。 您可以使用strftime()或date()。
尝试这个:
$effectiveDate = strtotime("+3 months", strtotime($effectiveDate)); $effectiveDate = strftime ( '%Y-%m-%d' , $effectiveDate ); echo $effectiveDate;
这应该工作。 我更喜欢使用strftime,因为它可以用于本地化,你可能想尝试它。
通过将strtotime()的参数连接起来, Tchoupi的答案可以变得不那么冗长,如下所示:
$effectiveDate = date('Ym-d', strtotime($effectiveDate . "+3 months") );
(这依赖于神奇的实现细节,但是如果你不信任,你可以随时查看它们。)
以下应该工作,但您可能需要更改格式:
echo date('l F jS, Y (mdY)', strtotime('+3 months', strtotime($DateToAdjust)));
您可以使用PHP Simple Libraries中的simpleDate类:
include('../code/simpleDate.php'); $date = new simpleDate(); echo $date->set($effectiveDate)->addMonth(3)->get();
检查这里的图书馆教程 。
以下应该工作,请尝试这个:
$effectiveDate = strtotime("+1 months", strtotime(date("ymd"))); echo $time = date("y/m/d", $effectiveDate);
以下应该工作
$d = strtotime("+1 months",strtotime("2015-05-25")); echo date("Ymd",$d); // This will print **2015-06-25**