Tuesday, February 27, 2018

√ Mengubah Format Timestamp Php Ke Bahasa Indonesia

Mengubah Format Timestamp PHP ke Bahasa Indonesia √ Mengubah Format Timestamp PHP ke Bahasa Indonesia

Sekilas wacana PHP

Bahasa pemrograman web ketika ini sudah sangat berkembang pesat. Salah satu yang cukup terkenal yaitu PHP. PHP cukup banyak diminati selain alasannya yaitu gampang dipakai juga alasannya yaitu tersedianya banyak sumber gosip dan komunitas yang menggunakannya. Saat ini sebagian besar situs telah memakai PHP sebagai bahasa penyusun dalam situs tersebut. Satu diantaranya yaitu blog engine WordPress. Jika anda pernah mengutak-atik file pada WordPress.org, maka anda akan menemukan seluruh halamannya memakai ekstensi php.

Selain itu sudah banyak programmer Indonesia yang memakai bahasa tersebut untuk menciptakan aplikasi berbasis web. PHP merupakan bahasa pemrograman web yang berada di sisi server. Berbeda dengan JavaScript yang bahasanya diterjemahkan oleh browser dan sanggup dilihat oleh client. PHP intinya telah dibekali dengan banyak function yang sanggup dipakai secara eksklusif sesuai kebutuhan penggunanya. Beberapa fungsi dasar dan penting diantaranya yaitu wacana pengaturan lokasi dan waktu.

Meskipun secara default penggunaan waktu pada jaringan internet ditentukan dari waktu yang tertera pada perangkat yang digunakan. Namun lokasi dan waktu memperlihatkan imbas terhadap output yang tampil.

Ketika memakai bahasa Indonesia pada sebuah situs web yang dibangun memakai bahasa php, kita perlu melaksanakan adaptasi format penulisan tanggal dalam bahasa Indonesia. Sebab jikalau tidak diatur secara otomatis akan memakai bahasa Inggris. Sebagai teladan anda sanggup melihat perbedaannya dari output isyarat berikut ini:

<?php /* Output: Tanggal hari ini */ echo strftime("Today is %A, %e %B %Y"); ?>

Dan isyarat berikut ini:

<?php /* Set lokasi ke Indonesia */ setlocale(LC_TIME, 'id');   /* Output: Tanggal hari ini */ echo strftime("Hari ini yaitu %A, %e %B %Y"); ?>

Tentu karenanya terperinci berbeda. Dan inti dari perbedaannya hanya terletak pada bahasanya. Untuk mencoba memakai PHP anda sanggup memakai XAMPP, pelajari lebih lanjut. Baiklah mari kita bahas lebih lanjut.

Setlocale() pada PHP

Salah satu fungsi dasar yang ada pada php yaitu setlocale(). Fungsi tersebut dipakai untuk mengatur gosip lokal menyerupai tanggal, waktu, penjabaran karakter dan konversi, serta simbol pemisah desimal. Meskipun pada perangkat juga ada pengaturan menyerupai itu namun pada situs web yang memakai php memerlukan perhatian tersendiri. Hasil dari fungsi tersebut akan keluar sebagai string. Bentuk dasar dari fungsi setlocale adalah:

setlocale(category, locale);

Ada dua parameter pada fungsi setlocale, yaitu parameter category dan locale. Category yaitu parameter untuk kategori spesifik yang akan diatur sesuai format lokasi yang ditetapkan pada belahan locale. Selain yang telah disebutkan di atas, ada beberapa kategori lain yang sanggup diatur sesuai lokasi yang diinginkan. Diantaranya adalah:
  • LC_ALL mengubah format lokasi untuk semua kategori di bawah ini
  • LC_COLLATE untuk perbadingan string, lihat strcoll()
  • LC_CTYPE untuk penjabaran karakter dan konversi, contohnya karakter besar pada karakter i untuk bahasa Inggris yang artinya "saya", contohnya strtoupper()
  • LC_MONETARY untuk mengatur format keuangan, lihat localeconv()
  • LC_NUMERIC untuk pemisah desimal dan format numerik, juga localeconv()
  • LC_TIME untuk format tanggal dan waktu, dipakai pada strftime()
  • LC_MESSAGES untuk respon sistem, tersedia jikalau PHP dikompilasi dengan libintl

Itulah beberapa kategori yang sanggup diubahsuaikan dengan memakai fungsi setlocale. Selain itu untuk mengetahui parameter locale yang sanggup digunakan, contohnya untuk Indonesia memakai "id", "ID", atau "Indonesian". Ada beberapa ketentuan yang perlu anda ketahui.
  1. Jika locale NULL atau string kosong "", maka nama lokal yang ditetapkan diambil dari nilai variabel lokasi dengan nama yang sama dengan kategori di atas, atau dengan "LANG".
  2. Jika locale diisi "0", pengaturan lokal tidak akan ada pengaruhnya, hanya menampilkan hasil dari pengaturan ketika ini.
  3. Jika locale yaitu array, atau diikuti parameter tambahan, contohnya "id, de", maka setiap elemen array atau parameter tersebut dicoba satu per satu untuk ditetapkan sebagai lokasi gres hingga selesai. Hal ini berkhasiat jikalau lokasi susukan situs sanggup berbeda-beda atau untuk menyediakan cadangan jikalau kemungkinan lokasi pertama tidak tersedia.

Pada sistem operasi Windows, setlocale (LC_ALL, "") akan memutuskan nama lokal dari pengaturan regional atau bahasa pada pengaturan Windows. Pengaturan tersebut sanggup anda temukan melalui sajian Control Panel.

Penggunaan strftime()

Fungsi yang satu ini merupakan fungsi lanjutan dari setlocale. Fungsi ini berkhasiat untuk format waktu dan tanggal menurut lokal yang telah ditentukan. Bulan dan hari bergantung pada bahasa lokal di fungsi setlocale().

Perlu anda ketahui tidak semua konversi lokal didukung oleh C library anda, dalam hal ini bahasa lokal tidak akan dipakai dalam fungsi strftime() PHP. Selain itu, tidak semua platform mendukung negative timestamps, sehingga rentang tanggal anda mungkin dibatasi tidak sanggup lebih awal dari zaman Unix. Artinya string %e, %T, %R, dan %D (dan mungkin yang lain) serta tanggal sebelum 1 Januari 1970, tidak akan berfungsi pada sistem operasi Windows, beberapa distribusi Linux (distro), dan beberapa sistem operasi lainnya.

Parameter strftime() untuk Hari

FormatDeskripsiContoh
%aNama hari dalam tiga hurufSen, Sel, Rab
%ANama hari secara lengkapSenin, Selasa, Rabu
%dTanggal dua digit yang disertai angka 0 untuk yang kurang dari 1001 hingga 30
%eTanggal tanpa disertai angka 0 untuk yang kurang dari 101 hingga 31
%jHari ke sekian dalam satu tahun, diawali 0 selain tiga digit001 hingga 366
%uNumerik ISO-8601 representasi hari dalam sepekan dalam angka1 (untuk Senin) hingga 7 (untuk Minggu)
%wRepresentasi hari dalam sepekan menyerupai %u tapi dimulai dari 0 dan Minggu0 (untuk Minggu) hingga 6 (untuk Sabtu)

Parameter strftime() untuk Pekan

FormatDeskripsiContoh
%UNomor untuk pekan ke sekian dalam satu tahun13 (untuk pekan ke 13 dalam tahun ini)
%VNomor pekan tahun ini, dimulai dari pekan pertama tahun ini yang setidaknya mempunyai 4 hari kerja dengan senin sebagai awal pekan01 hingga 53 (dimana 53 yaitu perhitungan pekan yang tumpang tindih)
%WRepresentasi urutan pekan dalam satu tahun, dimulai dari Senin pertama dalam satu pekan23 (untuk pekan ke 23 dalam tahun ini dimulai dari Senin)

Parameter strftime() untuk Bulan

FormatDeskripsiContoh
%bNama bulan dalam tiga hurufJan, Feb, Mar
%BNama bulan secara lengkapJanuari, Februari, Maret
%hAlias dari %b yaitu nama bulan dalam 3 hurufJan hingga Des
%mDua digit nomor urutan bulan01 (untuk Januari), 02 (untuk Februari)

Parameter strftime() untuk Tahun

FormatDeskripsiContoh
%CRepresentasi dua digit dari kurun ini (bilangan bundar dari pembagian tahun dibagi 100)19 untuk kurun ke-20, dst
%gDua digit representasi tahun ini, standar dari ISO-8601:198809 (untuk 2009), 20 (untuk 2020)
%GDigit penuh dari tahun ini, versi lengkap dari %g2008, 2009, 2019
%yDua digit terakhir dari tahun ini09 untuk 2009, 79 untuk 1979
%YEmpat digit representasi tahun ini2021, 2038

Parameter strftime() untuk Waktu

FormatDeskripsiContoh
%HDua digit representasi dari jam dalam format 24-jam00 hingga 23
%kJam dalam format 24-jam dengan satu digit untuk yang kurang dari 100 hingga 23
%IDua digit representasi dari jam dalam format 12-jam01 hingga 12
%l (huruf L kecil)Jam dalam format 12-jam dengan satu digit untuk yang kurang dari 101 hingga 12
%MDua digit representasi dari menit00 hingga 59
%pHURUF KAPITAL dari 'AM' atau 'PM'AM untuk 00:31, PM untuk 22:23
%PHuruf nonkapital dari 'am' atau 'pm'am untuk 00:31, pm untuk 22:23
%rSama menyerupai "%I:%M:%S %p"Contoh: 6:30:45 PM
%RSama menyerupai "%H:%M"Contoh: 00:35 untuk 12:35 AM, 16:44 untuk 4:44 PM
%SDua digit representasi dari detik00 hingga 59
%TSama menyerupai "%H:%M:%S"Contoh: 21:34:17 untuk 09:34:17 PM
%XRepresentasi waktu yang dipilih menurut lokal, tanpa tanggalContoh: 03:59:16 atau 15:59:16
%zZona waktu dalam bentuk angka menurut lokal. Perubahan lokal dari setlocale() tidak besar lengan berkuasa pada Windows+0800 untuk Indonesia
%ZZona waktu dalam bentuk lokasi benua dan negara menurut lokal. Perubahan lokal dari setlocale() tidak besar lengan berkuasa pada WindowsContoh: Malay Peninsula Daylight Time

Parameter strftime() untuk cap tanggal dan waktu

FormatDeskripsiContoh
%cCap tanggal dan waktu13/07/2019 00.50.22 untuk 13 Juli jam 12:50 am
%DSama menyerupai "%m/%d/%y"Contoh: 07/13/19 untuk 13 Juli 2019
%FSama menyerupai "%Y-%m-%d", banyak dipakai pada cap waktu di databaseContoh: 2019-07-13
%sStempel waktu Waktu Unix Epoch (sama dengan fungsi time ())305815200 untuk 10 September, 1979 08:40:00 AM
%xBerdasarkan representasi tanggal sesuai lokal, tanpa waktuContoh: 13/07/2019

Mengatur Zona Waktu

Selain bahasa yang dipakai dalam format waktu dan kategori locale lainnya. Zona waktu juga sanggup berbeda dengan yang anda harapkan. Saat membangun situs web dengan PHP anda juga perlu mengatur format waktu yang dipakai semoga cap waktu yang ditampilkan sesuai dengan zona waktu yang anda gunakan.

Untuk mengatur zona waktu yang sesuai anda sanggup memakai fungsi date_default_timezone_set(). Bentuk umum dari fungsi ini cukup sederhana alasannya yaitu hanya memakai satu parameter. Sebagai teladan untuk zona waktu Indonesia Tengah (WITA) sanggup memakai date_default_timezone_set("Asia/Makassar");.

Sekarang yang jadi pertanyaan yaitu apa saja zona waktu yang sanggup digunakan? Anda sanggup melihat daftar zona waktu yang didukung pada fungsi date_default_timezone_set() pada manual PHP List of Supported Timezones. Secara lebih spesifik untuk belahan Indonesia sanggup anda temukan di Zona Waktu Asia.

Penutup

Sebagai teladan anda sanggup lihat pada belahan awal di atas. Makara fungsi setlocale merupakan salah satu pengaturan awal yang cukup penting ketika awal memulai menciptakan situs. Karena dengan mengatur kedalam format lokal isi dari situs sanggup sesuai dengan pengaturan yang ditampilkannya. Terima kasih dan hingga jumpa!
Sumber http://www.maringngerrang.com/