Version: 1.11
Type: Function
Category: Other
License: GNU General Public License
Description: Changes the date format from yyyy-mm-dd (used e.g. in MySQL) to dd.mm.yyyy or the other way round.
// switch from mysql to UK format yyyy-mm-dd hh:ii:ss to dd/mm/yyyy hh:ii:ss (time is optional) // allows use of non-numeric seperators so 2000X12X25 is a valid date function uk_datetime_from_mysql($timestamp, $date_seperator="/", $time_seperator=":", $seperator=" ") { ereg ("([0-9]{2,4})[^0-9]([0-9]{1,2})[^0-9]([0-9]{1,2})", $timestamp, $regs); ereg ("([0-9]{2,4})[^0-9]([0-9]{1,2})[^0-9]([0-9]{1,2})[^0-9]([0-9]{1,2})[^0-9]([0-9]{1,2})[^0-9]([0-9]{1,2})", $timestamp, $regs); if (sizeof($regs)>1) { if (sizeof($regs)>4) { $date=$regs[3].$date_seperator.$regs[2].$date_seperator.$regs[1].$seperator.$regs[4].$time_seperator.$regs[5].$time_seperator.$regs[6]; } else { $date=$regs[3].$date_seperator.$regs[2].$date_seperator.$regs[1]; } } else { $date="unavailable"; } return $date; } // create unix timestamp from mysql datetime - careful of pre-1970 function timestamp_from_mysql($timestamp) { ereg ("([0-9]{2,4})[^0-9]([0-9]{1,2})[^0-9]([0-9]{1,2})", $timestamp, $regs); ereg ("([0-9]{2,4})[^0-9]([0-9]{1,2})[^0-9]([0-9]{1,2})[^0-9]([0-9]{1,2})[^0-9]([0-9]{1,2})[^0-9]([0-9]{1,2})", $timestamp, $regs); if (sizeof($regs)>1) { if (sizeof($regs)>4) { $date=mktime($regs[4],$regs[5],$regs[6],$regs[2],$regs[3],$regs[1]); } else { $date=mktime(0,0,0,$regs[2],$regs[3],$regs[1]); } } else { $date=0; } return $date; } // use the php date function to generate a date/time from a mysql datetime // basically converts it to a unix datestamp, which date() uses. function format_mysql_datetime($format, $mysql_datetime) { $unix=timestamp_from_mysql($mysql_datetime); $date=" "; if($unix>0) { $date=date($format, $unix); } return $date; } // converts a uk date format to mysql - uk date must be dd/mm/yyyy with optional time hh:ii:ss function mysql_datetime_from_uk($timestamp, $date_seperator="-", $time_seperator=":", $seperator=" ") { // dd/mm/yyyy ereg ("([0-9]{1,2})[^0-9]([0-9]{1,2})[^0-9]([0-9]{2,4})", $timestamp, $regs); // dd/mm/yyyy HH:MM ereg ("([0-9]{1,2})[^0-9]([0-9]{1,2})[^0-9]([0-9]{2,4})[^0-9]([0-9]{1,2})[^0-9]([0-9]{1,2})", $timestamp, $regs); // dd/mm/yyyy HH:MM:SS ereg ("([0-9]{1,2})[^0-9]([0-9]{1,2})[^0-9]([0-9]{1,2})[^0-9]([0-9]{2,4})[^0-9]([0-9]{1,2})[^0-9]([0-9]{1,2})", $timestamp, $regs); if (sizeof($regs)>1) { if (sizeof($regs)>4) { $date=$regs[3].$date_seperator.$regs[2].$date_seperator.$regs[1].$seperator.$regs[4].$time_seperator.$regs[5].$time_seperator; if(empty($regs[6])) { $date.="00"; } else { $date.=$regs[6]; } } else { $date=$regs[3].$date_seperator.$regs[2].$date_seperator.$regs[1]; } } else { $date="0"; } return $date; }