-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 に答える