Log

簡単なCarbonの使い方

use Carbon\Carbon;

// 現在日時
$now = Carbon::now();

// ロンドンの現在日時
$nowInLondonTz = Carbon::now('Europe/London');

// 特定の日付をつくり、今日は何歳か取得
$date = Carbon::createFromDate(1975, 5, 21);
$howOldAmI = $date->age;

// 今日の日時
$today = $date->today();
// 明日の日時
$yesterday = $date->yesterday();

// 日付を10日進める
$date->addDays(10);
// 日付に15日戻す
$date->subDays(15);

// 日付同士の差を取得
$date1 = Carbon::createFromDate(1975, 1, 1);
$date2 = Carbon::createFromDate(1980, 10, 1);
$date1->diffInYears($date2);   // 年数
$date1->diffInMonths($date2);  // 月数
$date1->diffInWeeks($date2);   // 週数
$date1->diffInDays($date2);    // 日数
$date1->diffInHours($date2);   // 時間数
$date1->diffInMinutes($date2); // 分数
$date1->diffInSeconds($date2); // 秒数

// フォーマットを変えて出力
echo $date->format('Y/m/d');

// タイムゾーンを変更してフォーマットも変える
echo $date->timezone('Asia/Singapore')->format('d/m/Y');

https://apecell.com/2016/02/08/id/219

例:1週間の有効期限

    $order = Order::where('orderid', $orderid)->firstOrFail();
    $service = $order['service'];
    $amount  = $order['amount'];
    $created_at  = $order['created_at'];

    $now = Carbon::createFromDate();
    $diffInDays = $now -> diffInDays($created_at);

    Log::info('diffInDays: '.$diffInDays);

    if ($diffInDays >= 7)
    {
      return view('errors.expired');
    }

    return view('payment', compact('service', 'amount'));
広告を非表示にする