bugfix> php > 投稿

カーボンデートが2つありますが、2つを加算したいのですが、どうすれば達成できますか?私はLaravelフレームワークを使用しています

$date1 = \Carbon\Carbon::createFromFormat('H:i:s', $status_info->filed_ete)->addMinutes(15)
date two is in this variable of date_two
date_two = $status_info->filed_departuretime

date1とdate_twoを一緒に追加するにはどうすればいいですか、ありがとう

回答 1 件
  • 別の日付に日付を追加しても意味がありません(たとえば、6月5日+ 7月4日は何ですか?)。

    ただし、日付を追加することはできます間隔 日付へ(または間隔への間隔)。

    言い換えると:

    日付+日付間隔=日付

    日付間隔+日付間隔=日付間隔

    日付+日付=意味がありません

    そのため、基本的には、どのものが日付で、どのものが間隔であるかに注意してください。あなたが本当に意味することは、2つの異なる日付を何らかの基準日付と比較することだと思います(今のように)。

    Laravelにカーボンを使用した例:

    // this is a date
    // [now() is a Laravel helper that is the same as Carbon::now()]
    $now = now();
    // this is an interval
    $departs_in_minutes = $now->diffInMinutes($departure_time);
    // this is also an interval
    $travel_minutes = $departure_time->diffInMinutes($arrival_time);
    // this is adding an interval to a date
    // which results in a date
    $expected_time = now()->addMinutes($departs_in_minutes + $travel_minutes + 15);
    
    

    http://carbon.nesbot.com/docs/#api-differenceをご覧ください

    サイドノート: PHPの DateTime に基づいているという点でCarbonには「落とし穴」があります  クラスとじゃない  DateTimeImmutable 。そのため、日付に間隔を追加するときは注意する必要があります。いくつかの期待どおりにオブジェクトのコピーを返すのではなく、元のオブジェクトに間隔を追加し、プロセスで変更します。これを回避するには、Carbonの copy() を使用します  適切な場合の方法。

あなたの答え