Learn the intricacies of setTestNow() and hasTestNow() methods with Carbon

Hòa Nguyễn Coder

Published in Web Developer · Đã đăng vào tháng 11 24, 2023 1:00 AM

Vừa tìm được một số đoạn code hay chia sẻ với mọi người. Đó là cách dùng Carbon trong Laravel. Thông thường chúng ta ưa dùng Carbon để check dữ liệu theo ngày tháng năm. Trường hợp bạn muốn check dữ liệu ở một ngày khác thì có thể dùng setTestNow() để sử dụng nhé. Nó rất là bổ ích khi làm việc

Bạn nào muốn test thì có thể vào đường dẫn : https://laravelplayground.com/  giúp ta có thể chạy test 


use Carbon\Carbon;
function checkBirtday($birtday){
  return Carbon::now()->isSameDay($birtday)?"Happy Birtday":"no birtday today";
}
Route::get('/', function (){
  echo $checkbirtday = checkBirtday(Carbon::create(2023,11,24)).PHP_EOL;
  //Chúng ta có thể đặt một thời gian cụ thể để test
  Carbon::setTestNow(Carbon::create(2023,11,21));
  //lấy thời gian hiện tại ra => 2023-11-21 00:00:00
  $dateCurrent =  Carbon::now();
  //Bạn cũng có thể đặt thời gian kiểu này
  Carbon::setTestNow(Carbon::parse('first day of March 2015'));
 //echo "2015-03-01 00:00:00"
  $dateCurrent_2 =  Carbon::now();
  //rest lại thời gian ban đầu 
  // Carbon::setTestNow(null);
  //kiểm tra có phải là trong môi trường test hay không, nó sẽ kiểm tra thời gian để so sanh
  if(Carbon::hasTestNow()){
    return view('welcome', [
    'title' => $dateCurrent_2
  ]);
  }
  return view('welcome', [
      'title' => $checkbirtday
    ]);
});

 

Nếu bạn thấy đem lại kiến thức bổ ích, hãy Click xem quảng cáo trên trang website của mình nhé! 🚀