2013-09-23 22 views
0

什么似乎是一个相当标准的日期转换给我不寻常的结果。我想将$ pay_date转换为'j/d/Y'格式,但如果格式为'Y-m-d',则只能得到正确的日期。在php中的转换日期根据日期格式返回不同的结果

这里是我的代码:

$payment = '2014-09-09'; 
$pay_date = strtotime("+1 month", strtotime($payment));      
$converter = date('j/d/Y', $pay_date); 

echo $converter; 

结果:2014年9月9日(应该是2014年10月9日)

如果我把这些变量,但改变$转换为此格式:

$converter = date('Y-m-d', $pay_date); 

的结果是正确的 - 2014年10月9日

我也试过这样:

$convert2 = DateTime::createFromFormat('Y-m-d', $pay_date)->format('j/d/Y'); 
echo $convert2; 

结果:2014年9月9日

但:

$convert2 = DateTime::createFromFormat('Y-m-d', $pay_date)->format('Y-m-d'); 
echo $convert2; 

给了我正确的结果:2014年10月9日

回答

1

jd是相同的格式选项,他们都代表DAYs;从manual for PHP's date function

d Day of the month, 2 digits with leading zeros 01 to 31 
j Day of the month without leading zeros   1 to 31 

使用格式'm/d/Y'

+0

这就是当你在计算机上花费太多时间时发生的情况。谢谢。 Upvoted,我会尽快接受它系统让我(5分钟) – chowwy

+0

在那里我自己,它发生! (不要忘记接受PLZ) – zamnuts

+0

我不会忘记。再次感谢。现在休息一下吧! – chowwy