Teknik untuk Memformat Tanggal di PHP dari Tipe Data Datetime MySQL

Sharing is caring!

Di dalam MySQL atau DBMS lainnya, tipe data date atau datetime seringkali memiliki format sebagai berikut:

yyyy-mm-dd hh:ii:ss

di mana yyyy adalah tahun sejumlah 4 digit, mm menyatakan angka bulan (2 digit), dd menyatakan tanggal (2 digit). Selanjutnya jika tipe data datetime diikuti dengan spasi, lalu ada hh yang menyatakan jam (2 digit), ii menyatakan menit (2 digit), dan terakhir adalah ss merupakan detik (2 digit). Adapun contohnya adalah: 2019-12-08 13:44:01.

Problemnya adalah, jika data tersebut dibaca di script PHP, maka bagaimana caranya supaya tipe data date atau datetime tersebut kita format dengan mudah? misalnya hanya diambil tanggalnya saja lalu diubah menjadi format tanggal di Indonesia sehingga menjadi: 08-12-2019, atau ditambahkan nama hari menjadi: Sunday, 08/12/2019.

Untuk melakukan formatting data date atau datetime dari MySQL dengan mudah di PHP, yaitu cukup menggunakan function date_create() dan date_format() saja. Perhatikan contoh berikut ini:

Misalkan diberikan sebuah data datetime yang dibaca dari MySQL yaitu ‘2019-12-23 10:20:01’. Script PHP untuk melakukan formatting adalah:

<?php
$datetime = '2019-12-23 10:20:01';

// membuat tipe data date di PHP dari string '2019-12-23 10:20:01'
$tgl = date_create($datetime);

// memformat tanggal menjadi '23-12-2019'
$formatted_date = date_format($tgl, 'd-m-Y');
echo "<p>".$formatted_date."</p>";

// memformat tanggal menjadi '23/12/2019'
$formatted_date = date_format($tgl, 'd/m/Y');
echo "<p>".$formatted_date."</p>";

// memformat tanggal menjadi '23/12/2019 10:20'
$formatted_date = date_format($tgl, 'd/m/Y H:i');
echo "<p>".$formatted_date."</p>";

// memformat tanggal menjadi 'Monday, 23-12-2019 10:20'
$formatted_date = date_format($tgl, 'l, d-m-Y H:i');
echo "<p>".$formatted_date."</p>";

// memformat tanggal menjadi 'Monday, 23 December 2019'
$formatted_date = date_format($tgl, 'l, d F Y H:i');
echo "<p>".$formatted_date."</p>";

// hanya mengambil jam menjadi '10:20'
$formatted_date = date_format($tgl, 'H:i');
echo "<p>".$formatted_date."</p>";
?>

Output yang dihasilkan dari script tersebut adalah

23-12-2019
23/12/2019
23/12/2019 10:20
Monday, 23-12-2019 10:20
Monday, 23 December 2019 10:20
10:20

Perhatikan script di atas!! Jika diperhatikan maka terdapat beberapa karakter yang menyatakan format datetime seperti: d (menyatakan tanggal 2 digit), m (menyatakan angka bulan 2 digit), Y (menyatakan angka tahun 4 digit), l (menyatakan nama hari dlm bhs Inggris), F (menyatakan nama bulan dalam bhs Inggris), H (menyatakan angka jam 2 digit), dan i (menyatakan menit dalam 2 digit).

Adapun format-format karakter lainnya, bisa dipelajari di php.net date manual.

Mudah bukan melakukan formatting date atau datetime dari MySQL di PHP?

Tinggalkan Komentar