我有一个日期01/31/2014,我需要添加一年到它,并使它01/31/2015。我使用添加一年至日期
$xdate1 = 01/31/2014;
$xpire = strtotime(date("m/d/Y", strtotime($xdate1)) . " +1 year");
但它返回31474800.
我有一个日期01/31/2014,我需要添加一年到它,并使它01/31/2015。我使用添加一年至日期
$xdate1 = 01/31/2014;
$xpire = strtotime(date("m/d/Y", strtotime($xdate1)) . " +1 year");
但它返回31474800.
Waaaay太复杂了。你正在做多个日期< - >字符串转换,当
php > $x = strtotime('01/31/2014 +1 year');
php > echo date('m/d/Y', $x);
01/31/2015
会做的伎俩。
有2次失误在这里。 分配给$xdate1
时,您错过了引号"
。它应该是
$xdate1 = "01/31/2014";
;第二,获得“2015年1月31日”,使用date
功能。 strtotime
返回时间戳,而不是日期格式。因此,使用
$xpire = date("m/d/Y", strtotime(date("m/d/Y", strtotime($xdate1)) . " +1 year"));
是的,引号只是简单的说我只是想让它变得简单,我只是想展示一天如何出现在变量中。它在我的代码中并不是这样,它从MySQL中提取日期。我真的很感谢帮助,这工作。 – user1792107
如果这个日期是从mysql出来的,那么在那里做数学运算:'SELECT yourdatefield + INTERVAL 1 YEAR'。 –
另一种方法是如下:
<?php
$date = new DateTime('2014-01-31');
$date->add(new DateInterval('P01Y'));
echo $date->getTimestamp();
?>
让我介绍a simple API extension for DateTime with PHP 5.3+:
$xdate1 = Carbon::createFromFormat('m/d/Y', '01/31/2014');
$xpire = $xdate1->addYear(1);
首先要$ xdate1为字符串值,像
$xdate1 = '01/31/2014';
然后在它适用日期之类的函数波纹管
$xpire = date('m/d/Y', strtotime($xdate1.' +1 year')); // 01/31/2015
请在提问前使用[搜索功能](https://stackoverflow.com/search?q=%5Bphp%5D+add+year)。 –