Alexandromeo Lawrence “If I only had an hour to chop down a tree, I would spend the first 45 minutes sharpening my axe.” – Abraham Lincoln.

Format Tanggal di PHP dan Beberapa Operasi Pada Tanggal PHP

6 min read

Format Tanggal di PHP dan Beberapa Operasi Pada Tanggal PHP

Kita seringkali merasa kesulitan saat ingin merubah dan menampilkan format tanggal di PHP menjadi format Indonesia. Tidak sedikit dari kita yang belum memahami bagaimana cara melakukannya. Berikut ini terdapat beberapa operasi yang bisa kita lakukan pada tanggal yang ada di PHP ini. Operasi itu juga termasuk cara merubahnya menjadi berformat Indonesia. Simak selengkapnya!

Format Tanggal Pada PHP

Berbicara mengenai format penanggalan yang ada di php, ada beberapa hal yang perlu kita ketahui. Tanggal pada PHP bisa kita berikan beberapa operasi seperti menampilkan tanggal. mengubah format tampilannya, mengubah zona waktunya, konversi, penjumlahan, pengurangan, dan penghitungan selisih. Berikut pembahasan lengkap mengenai operasi tersebut!

Mengubah Format Tanggal PHP

Hal pertama yang harus kita ketahui adalah bagaimana cara untuk mengubah format tanggal yang ada di PHP ini. Dalam hal ini, ada beberapa cara yang bisa kita lakukan. Cara yang pertama adalah menggunakan teknik yang sedikit primitif karena kita benar-benar harus menyusun ulang tanggalnya. Contoh penggunaannya adalah seperti berikut ini.

<?php
 	$date = “2021-02-11”;
 	$tanggal = explode('-', $date);
 	echo $tanggal[2].'-'.$tanggal[1].'-'.tanggal[0];
?>

Penjelasan kode program :

Awalnya $date berisi “2021-02-11” yang kemudian dipecah berdasarkan tanda – untuk kemudian disimpan di variabel $tanggal. Dengan begitu, variable $tanggal akan menjadi sebuah array yang terdiri dari 3 data yaitu indeks 0 berisi tahun, indeks 1 berisi bulan, dan indeks 2 berisi tanggal. Kemudian isi dari variabel $tanggal tersebut disusun secara manual untuk ditampilkan menggunakan echo.

Selain itu, ada cara lain yang bisa kita lakukan untuk mengubah format tanggal di PHP ini. Cara yang satu ini merupakan cara yang lebih keren karena kita akan memanfaatkan sebuah fungsi dari PHP yaitu fungsi date(). Kita hanya perlu memainkan parameter dari fungsi tersebut. Berikut caranya!

<?php echo date(‘d-m-Y’) ?> // hasilnya : 13-10-2021
<?php echo date(‘l, d/m/Y’) ?> // hasilnya : Wednesday, 13/10/2021

Penjelasan kode program :

Pada baris pertama, kita gunakan parameter d-m-Y yang berarti d akan tampil sebagai tanggal, m akan ditampilkan sebagai bulan, Y akan ditampilkan sebagai 4 digit tahun. 

Sedangkan pada baris kedua, terdapat tambahan huruf l disana yang berarti nama hari pada tanggal itu. Baris kedua juga menunjukan bahwa pemisah antar tanggal tidak harus menggunakan tanda – karena kita juga bisa menggunakan tanda lain seperti garis miring maupun koma.

Sebenarnya masih banyak parameter yang bisa kita gunakan. Untuk mengetahuinya lebih lanjut, kita bisa langsung pergi ke halaman berikut ini.

Menampilkan Tanggal Tertentu

Pada percobaan mengubah format tanggal php di atas, kita baru menggunakan tanggal hari ini saja. Untuk mengganti ke tanggal lain, kita bisa menggunakan cara berikut ini. Ada dua cara yang bisa kita gunakan yaitu menggunakan class datetime dan juga menggunakan strtotime. 

Baca Juga:  Apa Itu Wireframe? Pengertian, Manfaat, dan Contohnya (Lengkap)

Ketika menggunakan class DateTime, berarti kita bisa menggunakan program berikut ini.

<?php
   $date = “2021-10-13”; 
   $datetime = DateTime::createFromFormat('Y-m-d', $date);
   echo $datetime->format('d-m-Y');
?>

Penjelasan kode program :

Pertama kita perlu mendeklarasikan variabel $date yang berisi tanggal yang ingin kita tampilkan. Setelah itu, kita bisa membuat sebuah objek dari class datetime untuk disimpan di variable $datetime. 

Kita menggunakan method createFromFormat() untuk bisa membuat objek datetime baru. Parameter pertama dari method ini berisi format dari tanggal yang ingin kita tampilkan yang berada di variabel $date. 

Sedangkan parameter kedua berisi variabel yang berisi tanggal yang ingin kita tampilkan. Setelah itu kita hanya perlu memanggil objek class tersebut dengan diikuti format() yang bisa kita ubah parameternya sesuai dengan tampilan tanggal yang ingin kita tampilkan nantinya.

Selain menggunakan class datetime, kita juga bisa menampilkan tanggal tertentu dengan tampilan format tanggal di PHP menggunakan bantuan fungsi strtotime. Berikut kode program yang bisa kita gunakan.

<?php
$date = “2021-10-13”;
echo date('d-m-Y', strtotime($date));
?>

Penjelasan kode program :

Pertama, kita perlu mendeklarasikan variabel $date berisi tanggal yang ingin kita tampilkan. Kemudian kita akan memanfaatkan parameter kedua dari fungsi date(). Parameter pertama fungsi date() akan berisi format tampilan tanggal nantinya. Sedangkan parameter kedua akan berisi strtotime dengan membawa parameter variabel $date yang berisi tanggal tertentu sebelumnya.

Mengubah Zona Waktu Tanggal

Kemudian kita juga bisa merubah format tanggal PHP dengan melakukan beberapa perubahan pada zona waktu di tanggal PHP ini. Ada dua cara yang bisa kita gunakan. Pertama kita bisa menggunakan fungsi yang bernama gmdate(). Selain itu, kita juga bisa menggunakan fungsi date_default_timezone_set() untuk mengubah zona waktu. 

Ketika menggunakan fungsi gmdate(), kita bisa menggunakan kode program berikut ini untuk mengubah zona waktu pada tanggal di PHP kita.

<?php echo gmdate(‘d-m-Y, H:i:s’); ?>

Penjelasan kode program : 

Fungsi gmdate memiliki kegunaan untuk mengubah zona waktu menjadi GMT+0. Ketika kita menggunakannya maka kita akan menampilkan waktu berdasarkan patokan waktu GMT+0. Fungsi gmdate sendiri memiliki parameter yang bisa kita isi layaknya seperti fungsi date() sebelumnya. Kita bisa mengubah tampilan tanggal termasuk dengan waktu seperti apa yang kita inginkan.

Selain menggunakan fungsi gmdate, kita bisa memanfaatkan fungsi date_default_timezone_set() untuk kita gunakan dalam mengubah format zona waktu tanggal di PHP. Berikut kode yang bisa kita gunakan.

<?php
	date_default_timezone_set("Asia/Bangkok");
	echo date(‘d-m-Y, H:i:s’);
?>

Penjelasan kode program :

Penggunaan date_default_timezone_set() ini hanya perlu memainkan isi dari parameternya saja. Asia/Bangkok menandakan bahwa timezone sudah di atur agar sesuai dengan wilayah tersebut. Setelah itu, kita hanya perlu menampilkan tanggal dengan echo seperti biasa dan tanggal serta waktu yang tampil akan sesuai dengan timezone yang sudah kita atur.

Untuk isi dari parameter timezone yang valid, bisa kita lihat pada daftar berikut ini.  

Baca Juga:  Apa itu SVG? Pengertian dan Kelebihan Format SVG Bagi Website

Operasi Pada Tanggal di PHP

Nah, selain mengubah format tanggal di PHP, kita juga bisa menerapkan beberapa operasi perhitungan pada tanggal di PHP ini. Kita bisa menambahkan, mengurangi, dan juga menghitung selisih antara dua tanggal di PHP.

Menambahkan Tanggal 

Untuk cara menambahkan tanggal di PHP, kita bisa menggunakan dua cara. Yang pertama adalah dengan menggunakan class dan yang satunya adalah tanpa menggunakan class. 

Untuk cara menggunakan class, kita bisa menggunakan kode berikut ini.

<?php
$now = new DateTime('now');
$the_interval = new DateInterval('P1Y2M3D');
$now->add($the_interval);
echo $now->format('l, d-m-Y');
?>

Penjelasan kode program :

Pertama, kita harus membuat objek dari class Datetime dan kita isi dengan parameter now untuk membuat tanggal sesuai dengan sekarang ini. Setelah itu, kita simpan objek tersebut di variabel $now. Selanjutnya, kita perlu membuat variabel $the_interval yang akan berisi objek dari class DateInterval yang parameternya berisi  P1Y2M3D. Maksud dari isi tersebut adalah sebagai berikut.

1Y berarti 1 Year atau 1 tahun. 

2M berarti 2 Month atau 2 bulan.

3D berarti 3 Days atau 3 hari.

Angka tersebut bisa kita ubah sesuka hati sesuai yang kita inginkan.

Setelah itu, kita perlu memanggil objek $now diikuti dengan add yang berisi parameter $the_interval yang sudah kita buat sebelumnya. Selanjutnya, kita hanya perlu menampilkan objek tersebut dengan bantuan format yang parameternya berisi format tampilan tanggalnya.

Selain itu, kita bisa menggunakan cara yang lain yaitu tanpa menggunakan class. Untuk cara yang satu ini, kita bisa menggunakan kode berikut ini.

<?php
$now = date_create('now');
$the_interval = date_interval_create_from_date_string(‘1 years 2 months 3 days');
date_add($now, $the_interval);
echo $now->format(‘l, d-m-Y’);
?>

Penjelasan kode program :

Pertama, kita perlu menyimpan hari ini sebagai sebuah tanggal. Caranya dengan menggunakan date_create(‘now’) kemudian kita simpan pada variabel $now. Setelah itu, kita juga perlu membuat interval yang akan kita tambahkan.

Kita bisa memanfaatkan sebuah fungsi bernama date_interval_create_from_date_string() untuk membuatnya. Kemudian pada parameternya bisa kita isikan data 1 years 2 months 3 days yang berarti kita akan menambahkan 1 tahun, 2 bulan dan 3 hari kedepan.

Setelah itu, kita akan menggunakan fungsi date_add yang mana parameter pertama akan berisi tanggal hari ini dan parameter kedua akan berisi interval yang akan kita tambahkan. Setelah itu, kita hanya perlu menampilkannya menggunakan echo seperti biasa.

Mengurangi Tanggal 

Kemudian operasi selanjutnya dalam format tanggal di PHP ini adalah pengurangan. Kita juga bisa mengurangkan tanggal yang ada di PHP. Ada dua cara yang bisa kita lakukan untuk mengurangkan tanggal. Kita bisa mengurangkan tanggal menggunakan class dan juga tanpa menggunakan class. 

Dengan menggunakan class, kita bisa menggunakan kode program berikut ini.

<?php
$now = new DateTime('now');
$the_interval = new DateInterval('P1Y2M3D');
$now->sub($the_interval);
echo $now->format(‘l, d-m-Y’);
?>

Penjelasan kode program :

Kode program ini sebenarnya sama persis dengan yang ada pada cara menambahkan tanggal sebelumnya. Hanya saja terdapat bagian yang berbeda yaitu pada penggunaan sub. Pada baris keempat program di atas, kita bisa melihat pemanggilan objek $now diikuti dengan sub yang isi parameternya adalah interval. Sub inilah yang berfungsi untuk mengurangkan tanggal sekarang dengan interval yang sudah kita tentukan sebelumnya.

Baca Juga:  Belajar Bootstrap: Pengertian, Fungsi, dan Cara Menggunakannya

Sedangkan untuk cara mengurangi tanggal di format tanggal PHP tanpa menggunakan class, kita bisa menggunakan kode program berikut ini.

<?php
$now = date_create('now');
$the_interval = date_interval_create_from_date_string('20 years 05 months 20 days');
date_sub($now, $the_interval);
echo $now->format(‘l, d-m-Y’);
?>

Penjelasan kode program :

Kode di atas juga sama seperti pada penambahan sebelumnya. Yang berbeda terletak pada baris keempat yaitu penggunaan fungsi date_sub. fungsi yang satu ini berfungsi untuk mengurangkan tanggal $now dengan $the_interval yang diletakkan pada parameter dari fungsi date_sub ini.

Menghitung Selisih Tanggal

Operasi terakhir yang bisa kita lakukan pada format tanggal di PHP ini adalah melakukan perhitungan selisih dari dua buah tanggal. Untuk melakukannya, kita bisa menggunakan dua cara yaitu cara manual dan juga dengan menggunakan fungsi bawaan PHP.

Untuk cara manualnya sendiri, kita bisa langsung saja menggunakan kode program berikut ini.

<?php
$tgl1 = strtotime("2020-01-01"); 
$tgl2 = strtotime("2020-01-20"); 

$jarak = $tgl2 - $tgl1;

$hari = $jarak / 60 / 60 / 24;
echo $hari;
?>

Penjelasan kode program :

Pertama kita perlu mengubah tanggal 1 dan tanggal 2 menjadi satuan timestamp agar bisa kita kurangkan. Untuk itu, kita memanfaatkan fungsi strtotime kemudian menyimpannya pada variabel $tgl1 dan $tgl2. Selanjutnya, kita bisa mengurangkan kedua variabel tersebut dan menyimpannya pada variabel $jarak.

Saat ini, $jarak akan berisi hasil pengurangan yang masih dalam bentuk timestamp. Untuk itu, kita perlu membaginya dengan 60 yang mewakili detik, kemudian dibagi lagi dengan 60 yang mewakili menit, dan dibagi lagi dengan 24 yang mewakili jam. Setelah itu kita simpan hasilnya pada variabel $hari dan kita tampilkan menggunakan echo. Dengan begitu, kita akan mendapatkan selisih antar kedua tanggal dengan satuan hari.

Sedangkan untuk cara menghitung selisih antar tanggal pada format tanggal di PHP menggunakan fungsi, bisa memakai kode program berikut ini.

<?php
$tgl1 = new DateTime("2020-01-01");
$tgl2 = new DateTime("2020-01-20");
$jarak = $tgl2->diff($tgl1);

echo $jarak->d;
?>

Penjelasan kode program :

Pertama kita perlu membuat sebuah objek dari class DateTime terlebih dahulu. Kemudian kita menyimpannya pada variabel $tgl1 dan $tgl2. Selanjutnya, kita akan memanggil objek $tgl2 diikuti dengan diff yang berisi $tgl1 pada parameternya. 

Ini berarti bahwa objek $tgl2 akan dihitung selisihnya dengan objek $tgl1. Setelah itu, kita akan menyimpannya pada variabel $jarak. Kemudian untuk menampilkan hasilnya, kita bisa menggunakan echo kemudian memanggil $jarak diikuti dengan d setelahnya.

Seperti Itulah Format Tanggal di PHP

Dengan memahami beberapa format tersebut, Anda bisa lebih mudah saat ingin mengaplikasikan hal ini pada program milik Anda. Anda bisa memiliki ide yang lebih luas lagi saat ingin mengaplikasikan tanggal yang ada di PHP ini. Semoga artikel ini bisa membantu!

Dapatkan berbagai informasi maupun tips seputar web development hanya di makinrajin.com.
Alexandromeo Lawrence “If I only had an hour to chop down a tree, I would spend the first 45 minutes sharpening my axe.” – Abraham Lincoln.