像许多人一样,我对
PHP和MysqL中的许多日期函数感到困惑.我需要的是能够在MysqL中存储日期并能够以人类可读的格式在屏幕上查看日期,使用标准Web表单按月,年或两者的组合进行搜索,或者对其进行排序几个月或几年.
示例搜索将是过去5年中所有的费用记录.
我有一个javascript日历,在表格中输入月份为02-12-2011.
什么是最好的格式.该领域应该是什么?
谢谢
解决方法
请使用DateTime对象.
将日期存储在MysqL中作为DATE格式.
写数据时
$date = new DateTime($_POST['date']); or $date = DateTime::createFromFormat('d-m-Y',$_POST['date']); $query = sprintf("INSERT INTO `data` SET `date` = '%s'",$date->format('Y-m-d'))
读取数据时,创建一个DateTime对象.
$date = new DateTime($row['date']);
然后,您可以以任何您想要的格式打印它,例如你javascript的格式:
echo $date->format('d-m-Y');
看到
http://www.php.net/manual/en/class.datetime.php
和日期格式:
http://www.php.net/manual/en/function.date.php
对于过去5年2月份的所有记录.
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