Home > Ngoprek > Checkdate Problem

Checkdate Problem


Masih seputar migrasi yg gila. Kali ini masalah penanggalan menggunakan fungsi checkdate().

Ceritanya gw lagi konversi penanggalan menjadi lebih ‘manusiawi’, misalnya 2006-09-22 menjadi 22 September 2006. Proses berjalan dengan baik, sampai suatu ketika saya coba memasukkan tanggal kabisat seperti 29 Februari 2008. Yang terjadi adalah, konversi tidak dapat berjalan dengan baik.

Ok, sekarang kita coba cek ke fungsi HumanDate…

< ?
function HumanDateTime($date_string)
{
    global $data_path,$language,$month_name;
    include "config_main.php";
    include "$data_path/lang/lang_include.php";
    $var_datetime = explode(" ",$date_string);
    $var_date = $var_datetime&#91;0&#93;;
    $human_time = HumanTime($date_string);
    $human_date = explode("-",$var_date);
    $year = $human_date&#91;0&#93;;
    $month = $human_date&#91;1&#93;;
    $day = $human_date&#91;2&#93;;
    if (!checkdate ($month,$day,date("Y",$year))) {
        return "";
    }
    $month = $month_name&#91;"$month"&#93;;
    if (!$year) { $year = "0000"; }
    if (!$month) { $month = "00"; }
    if (!$day) { $day = "00"; }
    $human_date = $day." ".$month." ".$year;
    $human_datetime = $human_date." ".$human_time;
    return $human_datetime;
}
?>

oh ternyata ada fungsi checkdate didalamnya.. fungsi HumanDate ini akan mengembalikan string kosong jika tanggalnya salah. Hmm.. aneh.. untuk meyakinkan, saya coba buat skrip sederhana untuk melakukan checking tanggal kabisat menggunakan fungsi checkdate sederhana hasilnya, dan ternyata hasilnya true, alias valid. Lho, kok bisa lain ya…??
CheckDate problem

< ?
  if(!checkdate(2, 29, 2008)){
    echo "Check1: 29 Februari 2008 tidak kabisat..?? Ah yg bener??<br/>";
  }else{
    echo "Check1: 29 Februari 2008 emang bener kabisat.<br />";
  }

  if(!checkdate(2, 29, date("Y",2008))){
    echo "Check2: 29 Februari 2008 tidak kabisat..?? Ah yg bener??<br />";
  }else{
    echo "Check2: 29 Februari 2008 emang bener kabisat.<br />";
  }
?>

Akhirnya dengan sangat terpaksa ada beberapa skrip tidak pake HumanDate.. 🙂

btw kenapa bisa aneh ya…. TANYA KEN APA…?

Categories: Ngoprek
  1. No comments yet.
  1. No trackbacks yet.

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out /  Change )

Google photo

You are commenting using your Google account. Log Out /  Change )

Twitter picture

You are commenting using your Twitter account. Log Out /  Change )

Facebook photo

You are commenting using your Facebook account. Log Out /  Change )

Connecting to %s

%d bloggers like this: