carbonのformatを使用し、表示させた際とdd()を使用し表示を行った際の結果が微妙に違ってしまいます。
以下は、該当のコードになります。
<?php namespace App\Http\Controllers; use Illuminate\Http\Request; use Carbon\Carbon; use App\Reservation; class Reservecontroller extends Controller { // public function getCalendarDates($year, $month) { $date = Carbon::parse("$year-$month-1")->locale('ja_JP'); // dd($date); $last = $date->copy()->startOfWeek(); $count = $last->diffInDays($date->copy()->endOfMonth()->endOfWeek()) + 1; // dd($count,$date); for ($i = 0; $i < $count; $i++, $last->addDay()) { $dates[] = $last->copy(); } return $dates; } public function reserve_date() { $current_date = new Carbon(); $current_year = $current_date->year; $current_month = $current_date->month; $dates = $this->getCalendarDates($current_year,$current_month); $reservations = Reservation::get(['reservation_date']); $reservations_array = $reservations->toArray(); // var_dump($reservations_array); // dd(); foreach($reservations_array as $key=> $value ){ $reserved_date[] = Carbon::parse($value['reservation_date']); if($reserved_date[$key]->month == $current_month){ $current_reserved_date[] = $reserved_date[$key]; } } // foreach($current_reserved_date) // dd($current_reserved_date); // dd($dates[1]); dd($dates[0]->format('h:i:s')); if($current_reserved_date[0]->format('h:i') == $dates[0]->format('h:i')){ // dd($dates[0]->format('h:i')); echo __LINE__; dd(); }else{ echo __LINE__; } dd($dates[0]->format('h:i')); return view('reserve.calendar',compact('dates','current_date','current_reserved_date')); } }
reserve_dateメソッド内の「dd($dates[0]->format('h:i'));」ここの結果が「"12:00"」であるのに対し、
dd($date[0])とした際の結果は以下のように、時間の部分が「00:00:00」となっています。これらの違いは何故起こってしまうのでしょうか?
Carbon @1558796400 {#223 ▼ date: 2019-05-26 00:00:00.0 Asia/Tokyo (+09:00) }
回答2件
あなたの回答
tips
プレビュー