1, "feb" => 2, "mar" => 3, "apr" => 4, "may" => 5, "jun" => 6, "jul" => 7, "aug" => 8, "sep" => 9, "oct" => 10, "nov" => 11, "dec" => 12); $ampm = array("am" => 00, "pm" => 12); if(!$datestr) return -1; $datestr = strtolower($datestr); $datestr = ereg_replace("[,]", "", $datestr); $dp = explode(' ', $datestr); while(list($idx, $part) = each($dp)) { //echo "PART($part)
"; /* 23:59:59 */ if(ereg("^([0-9]+):([0-9]+):([0-9]+)$", $part, $arr)) { $hour = $arr[1]; $minute = $arr[2]; $second = $arr[3]; continue; } /* 23:59 */ if(ereg("^([0-9]+):([0-9]+)$", $part, $arr)) { $hour = $arr[1]; $minute = $arr[2]; $second = 0; continue; } /* 2000-12-31 (mysql date format) */ if(ereg("^([0-9][0-9][0-9][0-9])-([0-9][0-9])-([0-9][0-9])$", $part, $arr)) { $year = $arr[1]; $month = $arr[2]; $day = $arr[3]; continue; } if(defined($ampm[$part])) { $hour += $ampm[$part]; continue; } if($monthnames[substr($part, 0, 3)]) { $month = $monthnames[substr($part, 0, 3)]; continue; } if($part > 1900) { $year = $part; continue; } if($part > 31) { $year = 1900 + $part; continue; } if($part >= 1 && $part <= 31) { $day = $part; continue; } //echo "Unparsed: '$part'
\n"; } return mktime($hour, $minute, $second, $month, $day, $year); } ?>