2014-02-10 117 views
0

我有一个日期01/31/2014,我需要添加一年到它,并使它01/31/2015。我使用添加一年至日期

$xdate1 = 01/31/2014; 
$xpire = strtotime(date("m/d/Y", strtotime($xdate1)) . " +1 year"); 

但它返回31474800.

+0

请在提问前使用[搜索功能](https://stackoverflow.com/search?q=%5Bphp%5D+add+year)。 –

回答

3

Waaaay太复杂了。你正在做多个日期< - >字符串转换,当

php > $x = strtotime('01/31/2014 +1 year'); 
php > echo date('m/d/Y', $x); 
01/31/2015 

会做的伎俩。

0

有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")); 
+0

是的,引号只是简单的说我只是想让它变得简单,我只是想展示一天如何出现在变量中。它在我的代码中并不是这样,它从MySQL中提取日期。我真的很感谢帮助,这工作。 – user1792107

+0

如果这个日期是从mysql出来的,那么在那里做数学运算:'SELECT yourdatefield + INTERVAL 1 YEAR'。 –

1

另一种方法是如下:

<?php 
$date = new DateTime('2014-01-31'); 
$date->add(new DateInterval('P01Y')); 
echo $date->getTimestamp(); 
?> 
0

首先要$ xdate1为字符串值,像

$xdate1 = '01/31/2014'; 

然后在它适用日期之类的函数波纹管

$xpire = date('m/d/Y', strtotime($xdate1.' +1 year')); // 01/31/2015