Mengambil semua data dan mengubah format waktu sementara

Saya berencana untuk membandingkan nilai started_at dengan finished_at dengan nilai yg akan di input, jika waktu started_at dengan finished_at bentrok maka akan ada notifikasi, tman saya menyarankan agar mengubah format waktu yg sudah di simpan agar bisa dibandingkan. jadi pertanyaannya bagaimana cara saya mengambil semua data di started_at dengan finished_at di table ini dan mengubahnya sementara menjadi format contoh 14:00 menjadi 1400 tanpa harus di save ke dalam table?

berikut controller saya untuk booking waktunya

public function bookingappointment(Request $request, $name, $day)
  {
   $_SESSION['name'] = Auth::user()->name;
   $_SESSION['role'] = AUth::user()->role;
   $available = available::where('user_name', $name)->get();
   $appeal = new appointment_appeal;
   $appeal->request_from_id = $_SESSION['name'];
   $appeal->request_to_id = $name;
   $hari = date('Y-m-d', strtotime("next $day"));
   $appeal->date = $hari;
   $appeal->started_at = $request->time1;
   $appeal->finished_at= $request->time2;
   $appeal->tittle = $request->tittle;
   $appeal->description = $request->description;
   $appeal->action = "";
   $appeal->save();
   return view('searchedpage', ['available' => $available,
                                'namesearched' => $name,
                                'counter' => $hari,
                                'sessionname' => $_SESSION['name'],
                                'sessionrole' => $_SESSION['role']
                              ]);
  }

avatar MuhammadRamdani
@MuhammadRamdani

19 Kontribusi 4 Poin

Diperbarui 4 tahun yang lalu

1 Jawaban:

Jawaban Terpilih

Bisa menggunakan sintak pemecah string/char.

<pre> explode() </pre>

Contohnya :

<pre> $date = "2019-12-25 15:31" $hasil1 = explode(":", $date);

echo $hasil1[0]; // ini hasilnya 2019-12-25 15

echo $hasil1[1]; // ini hasilnya 31

$hasil2 = explode(" ", $date);

echo $hasil2[0]; // ini hasilnya 2019-12-25

echo $hasil2[1]; // ini hasilnya 15:31

$hasil3 = explode(":", $hasil2[1]);

echo $hasil3[0].$hasil3[1]; // ini hasilnya 1531 </pre>

Dengan begitu kamu bisa menggunakan if untuk membandingkan nilai

tapi perlu diingat, hasil pemecah adalah char. tipenya bukan date time lagi.

Happy Coding ^^

avatar rious
@rious

8 Kontribusi 2 Poin

Dipost 4 tahun yang lalu

Login untuk ikut Jawaban