1. ホーム
  2. php

CarbonとBladeを使って2つの日付の差を計算する

2023-12-14 14:32:32

質問

Carbonのデフォルトパラメータの代わりに、指定した変数を渡す方法をご存知の方はいらっしゃいますか?

Carbonのドキュメントにはこう書いてあります。

// CARBON SAMPLE

$dtToronto = Carbon::createFromDate(2012, 1, 1, 'America/Toronto');
$dtVancouver = Carbon::createFromDate(2012, 1, 1, 'America/Vancouver');
echo $dtVancouver->diffInHours($dtToronto); // 3

そして、コントローラでこのようなことをしたいのです。

  // EXAMPLE

  $date = "2016-09-16 11:00:00";
  $datework = Carbon::createFromDate($date);
  $now = Carbon::now();
  $testdate = $datework->diffInDays($now);

そして、Bladeのテンプレートでそれを取得する

  // VIEW ON BLADE

  <td> {{ $testdate }} </td>

どのように解決するのですか?

の例に従っていない。 カーボン・ドキュメンテーション . メソッド Carbon::createFromDate() は4つのパラメータを期待します。 , , そして タイムゾーン . そして、フォーマットされた日付文字列を渡そうとしているのです。

もし、フォーマットされた日付文字列からCarbonオブジェクトを作りたいのであれば、このようにクラスのコンストラクタを使うことができます。

$date = "2016-09-17 11:00:00";
$datework = new Carbon($date);

あるいは、静的な Carbon::parse() メソッドを使うこともできます。

$date = "2016-09-17 11:00:00";
$datework = Carbon::parse($date);

この完全な例は、あなたの目的のために使用することができます。

$date = Carbon::parse('2016-09-17 11:00:00');
$now = Carbon::now();

$diff = $date->diffInDays($now);

そして、Bladeのテンプレートに

<td> {{ $diff }} </td>