PHP Carbon 日期處理
阿新 • • 發佈:2021-10-11
1. composer安裝Carbon
composer require nesbot/carbon
2. 使用示例
<?php use Carbon\Carbon; echo Carbon::now(); //當前時間 2021-10-09 16:29:15 echo Carbon::now()->toDateTimeString(); //當前時間 2021-10-09 16:29:15 echo Carbon::today(); //今天 2021-10-09 00:00:00 echo Carbon::parse('today')->toDateTimeString(); //今天的日期 2021-10-09 00:00:00 echo Carbon::now()->toDateString(); //今天 2021-10-09 echo Carbon::tomorrow(); // 明天 2021-10-10 00:00:00 echo Carbon::yesterday(); // 昨天 2021-10-08 00:00:00 echo Carbon::createFromDate(2021, 05, 21); //建立指定日期 2021-05-21 16:29:15 echo Carbon::create(2021, 05, 21, 20, 00, 00); //建立指定日期 2021-05-21 20:00:00 echo Carbon::now()->addHours(1); // 1小時後同一時間 2021-10-09 17:29:15 echo Carbon::now()->subHours(2); // 2小時前同一時間 2021-10-09 14:29:15 echo Carbon::now()->addHours(2)->addMinutes(1); // 2小時後+1分鐘 2021-10-09 18:30:15 echo Carbon::now()->addDays(1); // 1天后同一時間 2021-10-10 16:29:15 echo Carbon::now()->modify('+1 days'); // 1天后同一時間 2021-10-10 16:29:15 echo Carbon::now()->modify('-1 days'); // 1天前同一時間 2021-10-08 16:29:15 echo Carbon::now()->addWeeks(1); // 1周後同一時間 2021-10-16 16:29:15 echo Carbon::parse('2021-10-09 +10 days')->toDateTimeString() . PHP_EOL; // 10天后 2021-10-19 00:00:00
$day = new Carbon(); echo $day; // 2021-10-09 16:29:15 echo $day->toDateString(); // 2021-10-09 echo $day->format('Y'); // 2021 echo $day->format('m'); // 10 echo $day->format('d'); // 09 echo $day->dayOfWeek; // 6(周6) echo $day->format('m') . '月' . $day->format('d') . '日'; //10月09日
日期比較between():判斷一個日期是否在兩個日期之間(第三個可選引數指定比較是否可以相等,預設為 true)
$start = Carbon::create(2021, 05, 20, 5); // 2021-05-20 05:00:00 $end = Carbon::create(2021, 05, 20, 10); // 2021-05-20 10:00:00 var_dump(Carbon::create(2021, 05, 20, 07)->between($start, $end)); // bool(true) var_dump(Carbon::create(2021, 05, 20, 10)->between($start, $end)); // bool(true) var_dump(Carbon::create(2021, 05, 20, 10)->between($start, $end, false)); // bool(false)
計算指定日期的差值:
diffInYears(年);diffInMonths(月);diffInDays(日);
diffInHours(時);diffInMinutes(分);diffInSeconds(秒);
$taday = Carbon::now(); // 2021-10-09 16:29:15 $yesterday = Carbon::parse('yesterday'); // 2021-10-08 00:00:00 echo $yesterday->diffInYears($taday, false); //返回為正負數 1 echo $taday->diffInDays($yesterday, false); // -1 echo $taday->diffInDays($yesterday, true); // 1