LC Time Laravel Carbon Di Windows Dan Linux

Kali ini saya akan coba berbagi pengalaman di framework laravel, mungkin diluaran sana sudah ada yang menemukan masalah ini. Jadi pengalaman nya saya menggunakan Carbon nah ketika mode Development Carbon nya bekerja, saya menggunakan Windows 10 dan menggunakan Wampserver, nah saya membuat helper dengan helper seperti codingan berikut ini :

use Carbon\Carbon;

if (! function_exists('tgl_id')) {
    function tgl_id($tgl)
    {
        $dt = new Carbon($tgl);
        setlocale(LC_TIME, 'IND');
        return $dt->formatLocalized('%A, %e %B %Y');
    }
}

Kodingan diatas ketika di mode development di Windows 10 dan menggunakan Wampserver berjalan dengan normal ketika saya panggil url nya 

LC_TIME_Output_windows

Bisa di perhatikan output gambar diatas keluar normal helpernya berjalan tapi ketika saya upload ke production dengan menggunakan server Linux, dengan kodingan yang sama seperti diawal, tidak berjalan malah output jadi seperti gambar di bawah ini :

LC_TIME_Output_Linux

Sorry URL saya Hidden, demi menjaga Privasi, kwkwkw. Nah padahal kodingan sama, di Windows Jalan tapi kenapa ketika di Linux tidak jalan, setelah di telusuri one by one codingan saya. Ternyata titik masalah kodingan ada di sini.

setlocale(LC_TIME, 'IND');

Kodingan ini berjalan kalo di Windows, tapi ketika di server linux tidak berjalan. Lalu apa yang saya lakukan di Linux Server saya menjalankan Syntak seperti di bawah ini

$ locale -a

Maka setelah menjalankan syntak di atas keluar output contoh seperti ini :

id_ID
id_ID.iso88591
id_ID.utf8

Jujur saya belum tau apa bedanya ketiga nama diatas yang pasti ketika saya mencoba menambahkan codingan nya dan seluruh codingan helper menjadi seperti ini :

use Carbon\Carbon;

if (! function_exists('tgl_id')) {
    function tgl_id($tgl)
    {
        $dt = new Carbon($tgl);
        setlocale(LC_TIME, 'IND'); //ini buat di mode development
        setlocale(LC_TIME, 'id_ID'); //ini buat mode production atau di server
        return $dt->formatLocalized('%A, %e %B %Y');
    }
}

Nah dengan kodingan diatas ini, helper berjalan dengan normal, kalo opini saya adalah perbedaan penaam LC_TIME atau Local Time pada Sistem Operasi kalo di windows untuk LC_TIME indonesia kodenya IND sedangkan kalo dilinux LC_TIME untuk indonesia id_ID dan berikut output nya.

LC_TIME_Output_Linux_Success

Demikianlah artikelnya, semoga bermanfaat.

Related Articles

Comments