57
<?php
    $date = "04-15-2013";
    $date = strtotime($date);
    $date = strtotime("+1 day", $date);
    echo date('m-d-Y', $date);
?>

これは私を夢中にさせ、とてもシンプルに思えます。私はPHPにかなり慣れていませんが、これを理解できません。エコーが返ってきます01-01-1970

$date はPOSTの形式m-d-Yで取得されます。1 日を追加して、後で使用する新しい変数として使用する必要があります。

$date を に変換しY-m-d、1 日を追加してから に戻す必要がありm-d-Yますか? の使い方を学んだほうがいいでしょうDateTimeか?

4

7 に答える 7

127

どうぞ

$date = "04-15-2013";
$date1 = str_replace('-', '/', $date);
$tomorrow = date('m-d-Y',strtotime($date1 . "+1 days"));

echo $tomorrow;

これは出力されます

04-16-2013

両方の関数
日付
strtotimeのドキュメント

于 2013-04-15T15:08:17.543 に答える
63
$date = DateTime::createFromFormat('m-d-Y', '04-15-2013');
$date->modify('+1 day');
echo $date->format('m-d-Y');

実際に見る

またはPHP 5.4+で

echo (DateTime::createFromFormat('m-d-Y', '04-15-2013'))->modify('+1 day')->format('m-d-Y');

参照

于 2013-04-15T15:10:40.647 に答える
15
$date = strtotime("+1 day");
echo date('m-d-y',$date);
于 2016-12-12T14:33:12.227 に答える
3

http://www.php.net/manual/en/datetime.add.phpのように使用します

$date = date_create('2000-01-01');
date_add($date, date_interval_create_from_date_string('1 days'));
echo date_format($date, 'Y-m-d');

出力

2000-01-2
于 2013-04-15T15:11:56.650 に答える
1

使用した形式は、strtotime() によって認識されません。交換

$date = "04-15-2013";

$date = "04/15/2013";

または、使用したい場合-は、年を前にして次の行を使用します。

$date = "2013-04-15";
于 2013-04-15T15:10:31.897 に答える
0

以下のコードで試してください:

<?php
   $date = "2022-01-05";
   $to_date = date('Y-m-d', strtotime($date.' +1 day')); 
   echo $to_date;
?>

Output:

2022-01-06
于 2022-01-05T11:25:28.503 に答える