我正在编码以通过比较dateTime
来搜索数据。在网络表单中,用户输入值2012-06-04
存储在$_REQUEST['dateSearch']
中。我从那里创建了dateTime
个对象:
$dateObj = date_create_from_format("Y-m-d",$_REQUEST['dateSearch']);
$dateParam = $dateObj->format("Y-m");
然后我在sql查询中使用$dateParam
来查找数据
$sql = "
SELECT *
FROM `temp` as `t`
WHERE `t`.`date` LIKE '$dateParam%'
";
一切都很好,但我不确定MySQL总是只使用一种dateTime
格式Y-m-d H:i:s
。
在这里,$dateParam = $dateObj->format("Y-m");
我将默认格式设置为“Y-m”。默认格式是否永远不会改变?我不希望在代码中使用硬设置格式Y-m-d H:i:s
,而不是,我认为从系统中获取格式字符串更好。如何从mySQL ???
dateTime
格式字符串
答案 0 :(得分:4)
你误解了,Y-m-d H:i:s
是日期时间数据类型的仅格式。
Y-m-d = date
H:i:s = time
这就是为什么命名为datetime
要更改mysql中datetime的返回格式,
你可以在mysql中使用date_format函数
,例如,
date_format('%Y-%m') = 2012-06
答案 1 :(得分:0)
下面更好用!
select * from users where month(`t`.`date`)='12' and year(`t`.`date`)='2010'