mySQL中的默认日期时间格式

时间:2012-06-04 10:26:46

标签: php mysql datetime-format

我正在编码以通过比较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格式字符串

2 个答案:

答案 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'

参考:MySQL query for month year