web-dev-qa-db-ja.com

日付に数字を追加しても機能しない

カスタムユーザーのメタデータに格納されている番号を現在の日付に追加しています。これが私のコードです

$addeddays = get_user_meta($this->order->user_id, 'xxx', true);
$timeBase = date('j.n.Y');
echo date('j.n.Y', strtotime($timeBase, "+ $addeddays days"));

しかし、出力は1.1.1970です

コードの何が問題になっていますか?または他の方法でそれを行う方法は?私はこれについての質問を読みましたが、答えでは私の方法でもあったので私はそれがうまくいかないのかわかりません。

1
mato0

strtotimeを誤って使用しているため、コードは機能しません。次のように使用してください。

int strtotime ( string $time [, int $now ] )

しかし、最初のパラメータとして日付をフォーマットし、2番目のパラメータとして別の文字列を渡します。

それで、それはどのように見えるべきですか?そのようです:

$addeddays = intval( get_user_meta($this->order->user_id, 'xxx', true) );
$timeBase = date('Y-m-d');
echo date('j.n.Y', strtotime( "+ {$addeddays} days", strtotime( $timeBase ) ));

あるいはもっと単純なバージョン( `$ timeBaseが今日であるので:

$addeddays = intval( get_user_meta($this->order->user_id, 'xxx', true) );
echo date( 'j.n.Y', strtotime( "+ {$addeddays} days" ) );
0