Mengganti Timezone Default PHP Database + Mengganti Format Tanggal + Bahasa

Sesuaikan Daerah yang Diinginkan

Secara default tanggal database yang ditampilkan di file / situs PHP akan membentuk format tanggal US misalnya 2017-05-29, tapi format tanggal tersebut dapat diubah menjadi format tanggal negara lain misalnya Indonesia seperti ini: 29-05-2017 atau 29 Mei 2017 atau bahkan menampilkan harinya seperti Senin 29 Mei 2017.

Struktur Kolom Tanggal

Jika ingin mengambil data tanggal yang ada di database, pastikan kolom tanggal di database tersebut diatur Jenis nya menjadi DATETIME. Silahkan buka kembali database nya misalnya di phpMyAdmin kemudian buka kolom tanggal yang bersangkutan didalam table database dan atur Jenis / Type menjadi DATETIME kemudian lanjutkan tutorial ini.

Mengatur Timezone Default

Format tanggal dapat disesuaikan bagaimana kalian ingin menampilkannya yang terpenting pastikan tanggal yang ditampilkan menunjukkan tempat tinggal / base kalian misalnya di Jakarta maka pada file / situs PHP yang menampilkan tanggal silahkan berikan kode date_default_timezone_set("ASIA/JAKARTA");di bagian atas file nya. Contohnya seperti ini:

<?php

  ob_start();
  session_start();
  include "includes/config.php";
  include "includes/head.php";
  date_default_timezone_set("ASIA/JAKARTA");

?>

Kode timezone tersebut merupakan penentu tanggal default untuk file PHP yang bersangkutan yaitu ASIA/JAKARTA (+7), jadi setiap tanggal yang ditampilkan akan mengacu pada waktu Jakarta (+7).

Gak tau berapa UTC Timezone wilayah saya saat ini ? Lihat disini untuk mengetahui timezone UTC. Bagaimana cara penulisannya jika saya bukan berasal dari Timezone +7 (ASIA/JAKARTA) ? Lihat disini untuk mengganti ASIA/JAKARTA misalnya menjadi ASIA/BRUNEI atau yang lainnya.

Sampai sini, sekarang tanggal yang ditampilkan akan mengikuti tanggal terbit data tersebut dan mengacu ke Timezone yang ditentukan, jadi ketika dibuka di wilayah lain tetap akan mengacu pada Timezone Default diatas.

Mengganti Format Tanggal

Biasanya ketika menampilkan tanggal dari database cukup seperti ini <?php echo $row_single_post['date'] ?>variable $row_single_post itu merupakan fetch data dari database yang sudah dibuat ketika kalian menampilkan data dari database sedangkan ‘date’ adalah nama kolom tanggal di table database yang bersangkutan.

Dengan begitu maka tanggal sekarang akan menampilkan tanggal yang ada di kolom date pada table database dengan mengacu pada Timezone +7 seperti yang diatur diatas, untuk merubah formatnya maka ganti menjadi seperti ini: <?php $ttt = $row_single_post['date']; echo date("d-F-Y", strtotime($ttt))?>maka tanggal yang tampil akan memiliki format seperti ini 29 May 2017.

Silahkan ganti format d-F-Y dengan format yang diinginkan, tidak hanya posisinya saja yang dapat digeser (misalnya jadi F-d-Y) tapi bisa juga mengganti besar kecilnya huruf. Lihat daftar dibawah ini:

Karakter Hasil Deskripsi
d 01, 02, 03, 12, 30 Menampilkan tanggal berupa angka
Diawali angka 0 jika tunggal
j 1, 2, 3, 12, 30 Menampilkan tanggal berupa
angka tunggal
D Monday (Mon), Tuesday (Tue) Menampilkan nama hari
diwakili 3 huruf pertamanya
l (el) Monday, Tuesday, Wednesday Menampilkan nama hari penuh
m 01, 02, 11, 12 Menampilkan bulan berupa angka
diawali angka 0 jika tunggal
n 1, 2, 11, 12 Menampilkan bulan berupa
angka tunggal
M January (Jan) December (Dec) Menampilkan nama bulan
Diwakili 3 huruf pertamanya
F January, February, December Menampilkan nama bulan lengkap
y 45, 99, 03, 16, 17 Menampilkan tahun berupa angka
diwakili 2 digit yang menunjukkan
tahun tersebut
Y 1945, 1999, 2003, 2016, 2017 Menampilkan tahun berupa angka
4 digit

Gunakanlah kode pemformatan diatas untuk menentukan tanggal, hari, bulan dan tahun.

Contoh: ketika menampilkan D d/M/Y maka hasilnya adalah Mon 29/May/2017. Cari tahu tentang format selengkapnya disini.

Mengganti Bahasa Tanggal & Bulan

Jika diperhatkan pada hasil contoh diatas sudah memiliki format yang diinginkan tapi masih menggunakan bahasa English US, untuk menerjemahkan nama hari dan bulan ini kita dapat menerjemahkannya menggunakan function. Salin kode berikut:

<?php
function tgl_indonesia($date){
   /* ARRAY u/ hari dan bulan */
   $Hari = array ("Minggu", "Senin", "Selasa", "Rabu", "Kamis", "Jumat", "Sabtu",);
   $Bulan = array ("Januari", "Februari", "Maret", "April", "Mei", "Juni", "Juli", "Agustus", "September", "Oktober", "November", "Desember");

/* Memisahkan format tanggal bulan dan tahun menggunakan substring */
$tahun 	 = substr($date, 0, 4);
$bulan 	 = substr($date, 5, 2);
$tgl	 = substr($date, 8, 2);
$waktu	 = substr($date,11, 5);
$hari	 = date("w", strtotime($date));

$result = $Hari[$hari].", ".$tgl." ".$Bulan[(int)$bulan-1]." ".$tahun." ".$waktu." WIB";
return $result;
}
/* by RioBermano.Com */
?>

Tempelkan di file baru atau di file yang menampilkan tanggal, jika membuat file baru silahkan save file baru tersebut dengan nama yang diinginkan jangan lupa ekstensi file nya berupa .php (misalnya function.php) kemudian panggil file tersebut di dalam file yang menampilkan tanggal menggunakan include seperti contoh code diatas bagian Mengatur Timezone Default terdapat include di barisan ke 5 (lima) & 6 (enam).

Mau tau lebih lanjut tentang penggunaan include ? Lihat disini, gampang ko !

Pada function ini diberi nama tgl_indonesia, nama function ini akan sangat berarti dalam penerapan tanggal seperti tadi dan menerjemahkannya ke bahasa Indonesia atau bahasa yang telah diatur didalam file function ini. Pada barisan ke-14 ada tulisan WIB itu hanya tambahan saja ketika menampilkan waktu (menit/jam) akan ditambahkan WIB dibelakangnya, silahkan ganti dengan waktu lokal kalian atau hapus saja.

Kembali ke tempat dimana menampilkan tanggal, silahkan ganti cara menampilkan tanggal tadi menjadi seperti ini: <?php echo tgl_indonesia($row_single_post['date'])?>maka tanggal akan menjadi format Indonesia (Senin, 29 Mei 2017 15:16 WIB). Format ini diatur di kode diatas barisan ke-14 dengan variable $result, silahkan ganti sesuai keinginan.

Masih bingung ? Lihat : Video tutorial cara mengatur timezone default PHP database.

Selamat mencoba !

tunggu sebentar...
POS Lainnya:

Tinggalkan Komentar

avatar

Situs ini menggunakan Cookie untuk meningkatkan pengalaman setiap pengunjung SETUJU & TUTUP Lihat Privasi