我遇到了MySQL format_date问题,不明白为什么。我有以下为我的代码部分:MySQL FORMAT_DATE%d返回'0'
date_format(NOW() + INTERVAL 3 DAY, '%Y-%m-%d')
这似乎是做工精细,除了那无论我选择日期时,%d正在恢复作为一个零(0)的事实。如果我将%d更改为%e,我可以得到正确的日期,但我使用它来比较日期,因此我需要低于10的数字的前导零。这是数据库设置,还是我错过了明显的东西?
在此先感谢。
更新:我觉得它有什么东西在数据库中,因为当我简化查询到这一点:
$q = "SELECT date_format(NOW() + INTERVAL 3 DAY, '%Y-%m-%d') as 'today' from content_field_date LIMIT 1";
“今天”打印出为“2012-03-0”
同时,这样的:
$q = "SELECT date_format(NOW() + INTERVAL 3 DAY, '%Y-%m-%e') as 'today' from content_field_date LIMIT 1";
正确返回 '2012-03-17'
Zeth
奇。如果我运行'SELECT date_format(NOW()+ INTERVAL 3 DAY,'%Y-%m-%d')'它会正确显示。我想知道它是否与你的语言环境有关? – 2012-03-14 19:32:04
你能显示完整的查询吗?这不应该发生。 – 2012-03-14 19:32:55
它在这里也不显示'0'。如果你的目标是比较日期,你也可以在mysql中完成。 – 2012-03-14 19:35:02