Please use a DateTime object.
Save dates in mysql as DATE format.
When writing data
$date = new DateTime($_POST['date']); or $date = DateTime::createFromFormat('dm-Y', $_POST['date']); $query = sprintf("INSERT INTO `data` SET `date` = '%s'", $date->format('Ym-d'))
When reading data, create a DateTime object.
$date = new DateTime($row['date']);
Then you can print it in any format, for example, javascript format:
echo $date->format('dm-Y');
Cm
http://www.php.net/manual/en/class.datetime.php
and for date formats:
http://www.php.net/manual/en/function.date.php
As for searches, you can use mysql Date functions in fields.
For all entries in February over the past 5 years.
SELECT * FROM `data` WHERE MONTH(`date`) = 2 AND YEAR(`date`) >= YEAR(NOW()) - 5
http://dev.mysql.com/doc/refman/5.5/en/date-and-time-functions.html
source share