Pada PHP, terdapat banyak cara untuk menghitung selisih tanggal dan waktu, kali ini kita akan membahas beberapa cara mulai dari yang paling mudah hingga yang paling rumit. Show
I. Menghitung Selisih Waktu Dengan PHP – Dengan Fungsi date_diff – Cara Paling MudahCara termudah menghitung selisih waktu dengan PHP adalah menggunakan fungsi 2, fungsi ini mulai ada pada PHP versi 5.3.0. adapun format penulisannya adalah:
contoh:
Penjelasan:
Format OutputObjek DateInterval dari fungsi 2 juga memiliki method 0 yang dapat digunakan untuk menghasilkan output dengan format tertentu, misal:
Penjelasan:
Fungsi untuk menghitung beda waktuSetelah kita memahami cara termudah untuk menghitung selisih waktu, maka untuk lebih memudahkan lagi dengan tanpa menulis kode berulang kali, maka kode tersebut dapat kita letakkan dalam sebuah fungsi:
Contoh penggunaan:
II. Menghitung Selisih Waktu Dengan PHP - Dengan Objek DateTimeJika sebelumnya kita menghitung beda waktu dengan model procedural style, yaitu menggunakan fungsi 2, kali ini, kita akan menggunakan model Object Oriented dengan menggunakan objek DateTime.Sama seperti fungsi 2, objek DateTime mulai ada pada PHP versi 5.3.0Contoh penggunaan:
Jika diperhatikan, cara penggunaan dan output yang dihasilkan mirip dengan model procedural style, ya karena sebenarnya fungsi 2 merupakan alias dari 5 — objek DateTime dengan method diff() —Sama seperti 2, objek 7 juga memiliki method format yang digunakan untuk menghasilkan format tertentu, disamping itu, karakter date yang digunakan juga sama:
III. Menghitung Selisih Waktu Dengan PHP - Dengan Fungsi StrtotimeSebelum php 5.3.0, untuk menghitung selisih tanggal dan waktu pada PHP, kita menggunakan fungsi 8, meskipun terlihat jadul, fungsi ini tetap powerfull. Contoh penggunaannya adalah:
Pada contoh diatas, fungsi 8 akan menghasilkan waktu dalam format timestamp. Timestamp adalah format waktu berupa detik yang dihitung sejak epoch time (1970-01-01 00:00:00), sehingga timestamp 1 berarti 1 detik sejak epoch time.Karena strtotime berupa detik, maka untuk menghitung selisih waktu, kita juga harus melakukan pembagian dengan detik, pada contoh diatas, untuk menghitung hari, kita gunakan perkalian detik, menit, dan jam (60 x 60 x 24). Meskipun cara ini lebih ribet dibanding kedua cara sebelumnya, cara ini memiliki beberapa kelebihan, yaitu dapat menghitung selisih berdasarkan jam, menit, detik dengan lebih mudah, contoh: 0Perhitungan diatas akan lebih susah jika menggunakan fungsi 2 atau objek 7Lebih jauh tentang fungsi 2 dan 8 dapat dibaca pada artikel: Memahami Fungsi Time, Strtotime, dan Mktime Pada PHP – Memanipulasi WaktuIV. TimezoneKetika kita bekerja dengan tanggal, jangan lupa untuk selalu menyesuaikan timezone tau zona waktu. Karena pasti ada selisih ketika kita menghitung waktu sekarang. Hal ini disebabkan secara default php akan menggunakan zona waktu Eropa atau Amerika dengan selisih waktu lebih dari 5 jam. Untuk mengubah zona waktu dapat menggunakan fungsi 4, misal: 1Dari contoh diatas terlihat bahwa terdapat selisih waktu antara sebelum dan sesudah pengaturan zona waktu. Lebih jauh tentang timezone dapat dibaca pada artikel: Memahami Zona Waktu (Timezone) dan Selisih Waktu Pada PHP IV. PenutupSetidaknya terdapat tiga cara menghitung selisih waktu pada php, yaitu menggunakan fungsi 2, objek 7, dan fungsi 8Pertimbangkan untuk terlebih dahulu menggunakan fungsi 2 atau objek 7, karena keduanya jauh lebih mudah dibanding menggunakan fungsi 0Namun demikian, untuk kasus tertentu, lebih mudah menggunakan fungsi 8 dibanding kedua cara lainnya.Demikian pembahasan mengenai cara menghitung selisih tanggal dan waktu pada PHP, semoga bermanfaat. Subscibe NowSuka dengan artikel di Jagowebdev.com? jangan sampai ketinggalan, segera join ke milis kami untuk update informasi terbaru dari Jagowebdev.com Komitmen Kami: Kami senantiasa menghargai privasi Anda dan tidak akan membagikan identitas Anda ke pihak manapun. |