Merubah format tanggal di php

Merubah format tanggal di php

Admin・ 27 Oktober 2021

2 min read ・ 4511 views

Date Format Indonesia PHP - Halo teman-teman 👋 Di artikel ini, saya akan share artikel tentang bagaimana cara membuat atau menampilkan format tanggal Indonesia di PHP. Format tanggal Indonesia biasanya mempunyai susunan tanggal-bulan-tahun. Nah, di artikel ini, saya akan coba menunjukkan bagaimana cara menampilkan format tanggal Indonesia seperti 28/10/2021, 28-10-2021 atau 28 Oktober 2021.

Mari simak pembahasannya di bawah ini. 👇 👓

<?php 
	echo date('d-m-Y');
	// output: 28-10-2021
?>

Yang pertama, kita akan coba menampilkan tanggal sekarang atau saat ini, dengan format tanggal-bulan-tahun. Untuk menampilkan tanggal dengan format tersebut, bisa menggunakan kode seperti di atas. Jika kamu mempunyai data tanggal yang spesifik atau maksudnya bukan tanggal saat ini, kamu bisa menambahkan nilai timestamp seperti ini date('d-m-Y',strtotime("2021-10-27"));

<?php 
	echo date('d F Y');
	// output: 27 October 2021
?>

Kemudian, bagaimana jika ingin menampilkan format tanggal indonesia dengan susunan tanggal Bulan tahun di PHP ? untuk menampilkan tanggal ke format tersebut di PHP, kamu bisa menggunakan kode seperti contoh di atas.

<?php 
	echo date('d/m/Y');
	// output: 28/10/2021
?>

Dan untuk menampilkan data tanggal format Indonesia dengan susunan tanggal/bulan/tahun, kamu bisa menggunakan kode seperti contoh di atas.

Bagaimana Cara Menampilkan Bulan Indonesia ?

Pada contoh-contoh yang sudah saya berikan di atas, mungkin bulan akan tampil menggunakan bahasa inggris. Bagaimana cara mengubahnya agar dapat menampilkan bulan dengan bahasa Indonesia ?

<?php

function tanggal_indonesia($tanggal){

	$bulan = array (
		1 =>   	'Januari',
				'Februari',
				'Maret',
				'April',
				'Mei',
				'Juni',
				'Juli',
				'Agustus',
				'September',
				'Oktober',
				'November',
				'Desember'
		);

		$var = explode('-', $tanggal);

		return $var[2] . ' ' . $bulan[ (int)$var[1] ] . ' ' . $var[0];
		// var 0 = tanggal
		// var 1 = bulan
		// var 2 = tahun
}

echo tanggal_indonesia(date('Y-m-d')); //28 Oktober 2021
// atau
// echo tanggal_indonesia('2021-10-28');

Agar bulan tampil menggunakan bahasa Indonesia, kamu bisa membuat function baru untuk mengubah nilai-nilai bulan dari bahasa inggris menjadi bahasa Indonesia. Untuk kodenya, bisa dilihat seperti pada contoh kode di atas.

Sekian artikel singkat tentang cara menampilkan format tanggal Indonesia di PHP kali ini. Jika kamu punya cara lain yang lebih singkat, kamu bisa share di form komentar di bawah ini. Semoga artikel ini bisa bermanfaat, selamat mencoba dan sampai jumpa di artikel berikutnya. 👋

Happy Coding 🥂 👨‍💻

Catatan: Karena jawaban kiriman ini kadang-kadang dibatalkan, saya kembali ke sini untuk meminta orang-orang untuk tidak memperbaikinya lagi. Jawaban saya kuno, tidak benar secara teknis, dan ada beberapa pendekatan yang lebih baik di sini. Saya hanya menyimpannya di sini untuk tujuan sejarah.

Meskipun dokumentasi dengan buruk menggambarkan fungsi strtotime, @rjmunro dengan benar membahas masalah ini dalam komentarnya: ini dalam format tanggal ISO "YYYY-MM-DD".

Juga, meskipun fungsi Date_Converter saya mungkin masih berfungsi, saya ingin memperingatkan bahwa mungkin ada pernyataan yang tidak tepat di bawah ini, jadi harap abaikan saja.

Jawaban yang paling banyak dipilih sebenarnya salah!

Manual PHP strtotime di sini menyatakan bahwa "Fungsi tersebut diharapkan akan diberi string yang berisi format tanggal bahasa Inggris". Apa yang sebenarnya dimaksud adalah bahwa ia mengharapkan format tanggal Amerika AS, seperti "m-d-Y" atau "m/d/Y".

Itu berarti bahwa tanggal yang disediakan sebagai "Y-m-d" dapat disalahartikan oleh strtotime. Anda harus memberikan tanggal dalam format yang diharapkan.

Saya menulis sedikit fungsi untuk mengembalikan tanggal dalam beberapa format. Gunakan dan modifikasi sesuka hati. Jika ada yang mengubahnya menjadi kelas, saya akan senang jika itu dibagikan.

function Date_Converter($date, $locale = "br") {

    # Exception
    if (is_null($date))
        $date = date("m/d/Y H:i:s");

    # Let's go ahead and get a string date in case we've
    # been given a Unix Time Stamp
    if ($locale == "unix")
        $date = date("m/d/Y H:i:s", $date);

    # Separate Date from Time
    $date = explode(" ", $date);

    if ($locale == "br") {
        # Separate d/m/Y from Date
        $date[0] = explode("/", $date[0]);
        # Rearrange Date into m/d/Y
        $date[0] = $date[0][1] . "/" . $date[0][0] . "/" . $date[0][2];
    }

    # Return date in all formats
        # US
        $Return["datetime"]["us"] = implode(" ", $date);
        $Return["date"]["us"]     = $date[0];

        # Universal
        $Return["time"]           = $date[1];
        $Return["unix_datetime"]  = strtotime($Return["datetime"]["us"]);
        $Return["unix_date"]      = strtotime($Return["date"]["us"]);
        $Return["getdate"]        = getdate($Return["unix_datetime"]);

        # BR
        $Return["datetime"]["br"] = date("d/m/Y H:i:s", $Return["unix_datetime"]);
        $Return["date"]["br"]     = date("d/m/Y", $Return["unix_date"]);

    # Return
    return $Return;

} # End Function