Skip to content

Instantly share code, notes, and snippets.

@Iyongbudiarso
Forked from ardianta/tanggal_helper.php
Last active November 1, 2022 09:24
Show Gist options
  • Save Iyongbudiarso/b07e8d531a095123b56fd23520b54c9c to your computer and use it in GitHub Desktop.
Save Iyongbudiarso/b07e8d531a095123b56fd23520b54c9c to your computer and use it in GitHub Desktop.
Helper CodeIgniter untuk membuat tanggal dalam format bahasa indonesia
<?php
/**
* Helper untuk mencetak tanggal dalam format bahasa indonesia
*
* @package CodeIgniter
* @category Helpers
* @author Ardianta Pargo ([email protected])
* @link https://gist.github.com/ardianta/ba0934a0ee88315359d30095c7e442de
* @version 1.0
*/
/**
* Fungsi untuk merubah bulan bahasa inggris menjadi bahasa indonesia
* @param int nomer bulan, default Date('m')
* @return string nama bulan dalam bahasa indonesia
*/
if (!function_exists('bulan')) {
function bulan($bulan = ''){
$bulan = $bulan == '' ? Date('m') : ((int) $bulan - 1);
$bulanIndonesia = [
'Januari', 'Februari', 'Maret',
'April', 'Mei', 'Juni',
'Juli', 'Agustus', 'September',
'Oktober', 'November', 'Desember'
];
if (array_key_exists($bulan, $bulanIndonesia)) {
return $bulanIndonesia[$bulan];
}
return '??';
}
}
/**
* Fungsi untuk merubah hari bahasa inggris menjadi bahasa indonesia
* @param int nomer hari, default Date('N')
* @return string nama hari dalam bahasa indonesia
*/
if (!function_exists('hari')) {
function hari($hari = ''){
$hari = $hari == '' ? Date('N') : ((int) $hari - 1);
$hariIndonesia = [
'Senin', 'Selasa', 'Rabu',
'Kamis', 'Jumat', 'Sabtu',
'Minggu'
];
if (array_key_exists($hari, $hariIndonesia)) {
return $hariIndonesia[$hari];
}
return '??';
}
}
/**
* Fungsi untuk membuat tanggal dalam format bahasa indonesia
* @param string tanggal
* @return string format tanggal sekarang (contoh: 22 Desember 2016)
*/
if (!function_exists('tanggal')) {
function tanggal($tanggal = '', $pemisah = ' ') {
if ($tanggal == '') {
$tgl = Date('d');
$bln = Date('m');
$thn = Date('Y');
$day = Date('N');
$waktu = Date('h:i:s');
} else {
$split = explode('-', $tanggal);
$tgl = substr($split[2], 0, 2);
$bln = $split[1];
$thn = $split[0];
$day = Date('N', strtotime($tanggal));
$waktu = (strlen($split[2]) > 2) ? substr($split[2], 2) : '';
}
$tanggal = $tgl. $pemisah .bulan($bln). $pemisah .$thn;
$newtanggal = new stdClass;
$newtanggal->biasa = $tanggal;
$newtanggal->denganHari = hari($day) . ', ' . $tanggal;
$newtanggal->denganWaktu = $tanggal . ' ' . $waktu;
$newtanggal->denganHariWaktu = hari($day) . ', ' . $tanggal . ' ' . $waktu;
return $newtanggal;
}
}
if (!function_exists('dateToDB')) {
function dateToDB($date)
{
$date = preg_replace('#(\d{2})/(\d{2})/(\d{4})#', '$3-$2-$1', $date);
return $date;
}
}
if (!function_exists('datetimeToDB')) {
function datetimeToDB($date)
{
$date = preg_replace('#(\d{2})/(\d{2})/(\d{4})\s(.*)#', '$3-$2-$1 $4', $date);
return $date;
}
}
if (!function_exists('dateFromDB')) {
function dateFromDB($date)
{
$date = preg_replace('#(\d{4})-(\d{2})-(\d{2})#', '$3/$2/$1', $date);
return $date;
}
}
if (!function_exists('datetimeFromDB')) {
function datetimeFromDB($date)
{
$date = preg_replace('#(\d{4})-(\d{2})-(\d{2})\s(.*)#', '$3/$2/$1 $4', $date);
return $date;
}
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment