2013-04-29 38 views
-3

如何在M/Y格式中获得6个月的日期? 我试着像这样的,但没有工作..如何在M/Y格式中获得6个月的日期?

$regDate = "Jan/2013"; 
    $validTill = date('M/Y',strtotime("+6 months", strtotime($regDate))); 
+0

你是什么意思,不工作? '$ validTill'的价值是什么? – Osiris 2013-04-29 06:56:31

+0

您能否确定您总是以'MON/yyyy'格式获得'$ regDate'? – Passerby 2013-04-29 06:56:42

+0

当前命令的输出是什么? – 2013-04-29 06:56:42

回答

1

最好的办法是使用DateTime对象来转换你的日期。

$regDate = "Jan/2013"; 
$myDateTime = DateTime::createFromFormat('M/Y', $regDate); 
$myDateTime->modify('+6 Months'); 
echo $myDateTime->format('M/Y'); 

CodePad DEMO.

注:它将为PHP 5只> = 5.3.0支持。

0

转换格式由strtotime是readeable。

$regDate = 'Jan/2013'; 
// this should look likes this: 2013-01-01 

比你的代码将起作用。

,我认为最好的日期存储在YYYY-MM-DD格式(或unix timestamp,但在这种情况下,你应该使用正确的time-zone),当你表现出,将其转换为你需要显示的内容格式。

相关问题