-1
$a2 = $_POST["e2"] ;
$time = strtotime( ' $a2 ');
$myDate = date ("Y-m-d", $time );
echo $myDate ;
$n = strtotime(date("Y-m-d", strtotime($myDate)) . " +24 month");
$q = date("Y-m-d", $n);
echo $q ;

上面的输出是:1970-01-011972-01-01 e2 输入为:24/09/2012 所以预期的输出是:24/09/2012 24/09/2014 我应该为这个输出做些什么。请帮忙。

4

2 回答 2

0

用斜线分隔的日期strtotime必须是格式m/d/y。您正在传递格式中的日期d/m/y。将分隔符更改为.-

笔记:

m/d/y 或 dmy 格式的日期通过查看各个组件之间的分隔符来消除歧义:如果分隔符是斜杠 (/),则假定为美式 m/d/y;而如果分隔符是破折号 (-) 或点 (.),则假定为欧洲 dmy 格式。

为避免潜在的歧义,最好尽可能使用 ISO 8601 (YYYY-MM-DD) 日期或 DateTime::createFromFormat()。

于 2012-10-29T07:57:55.067 回答
0

只是改变你的斜线

$time = strtotime( ' 24-09-2012 ');
$myDate = date ("Y-m-d", $time );
echo $myDate ;
$n = strtotime(date("Y-m-d", strtotime($myDate)) . " +24 month");
$q = date("Y-m-d", $n);
echo $q ;
于 2012-10-29T07:58:53.720 回答