40

という文字列が入ってきたとします。"2007-02-28"それを に変換するために記述できる最も簡単なコードは何"2007-03-01"ですか? 今は を使ってstrtotime()を追加して24*60*60から を使ってdate()いますが、よりクリーンでシンプルな、またはより賢い方法があるかどうか疑問に思っています。

4

9 に答える 9

86

きれいな方法使用することですstrtotime()

$date = strtotime("+1 day", strtotime("2007-02-28"));
echo date("Y-m-d", $date);

2007-03-01 を提供します

于 2009-03-18T23:41:39.430 に答える
34

86400 を追加する方がクリーンで簡単です。:)

ハイテクな方法は次のとおりです。

$date = new DateTime($input_date);
$date->modify('+1 day');
echo $date->format('Y-m-d');

しかし、それは、明日を見つけるだけでなく、たとえば日付の一連の変換を行う場合にのみ、わずかな価値しかありません.

于 2009-03-18T23:35:06.467 に答える
17

たとえば、strtotime 内で加算を行うことができます。

 $today="2007-02-28";
 $nextday=strftime("%Y-%m-%d", strtotime("$today +1 day"));
于 2009-03-18T23:42:48.193 に答える
5

最も簡単な方法は...

echo date('Y-m-d',strtotime("+1 day"));    //from today

または指定した日付から...

echo date('Y-m-d',strtotime("+1 day", strtotime('2007-02-28')));
于 2015-01-18T15:20:34.873 に答える
0

strtotime()日付形式で使用

echo date('Y-m-d', strtotime('2007-02-28' . ' +1 day'));
于 2021-03-18T10:56:32.697 に答える
-1
 $early_start_date = date2sql($_POST['early_leave_date']);


        $date = new DateTime($early_start_date);
        $date->modify('+1 day');


        $date_a = new DateTime($early_start_date . ' ' . $_POST['start_hr'] . ':' . $_POST['start_mm']);
        $date_b = new DateTime($date->format('Y-m-d') . ' ' . $_POST['end_hr'] . ':' . $_POST['end_mm']);

        $interval = date_diff($date_a, $date_b);
于 2016-09-04T12:24:10.587 に答える