看起來你的DATE_FORMAT(CURDATE(), '%d.%m.%Y')
出現不同於STR_TO_DATE(res_date, '%d.%m.%Y')
一塊,因此失敗的比較。使用NOW()
爲後來的一塊看看
mysql> select DATE(STR_TO_DATE('13.12.2013 17:12 - Fr.', '%d.%m.%Y'));
+---------------------------------------------------------+
| DATE(STR_TO_DATE('13.12.2013 17:12 - Fr.', '%d.%m.%Y')) |
+---------------------------------------------------------+
| 2013-12-13 |
+---------------------------------------------------------+
mysql> select DATE_FORMAT(CURDATE(), '%d.%m.%Y');
+------------------------------------+
| DATE_FORMAT(CURDATE(), '%d.%m.%Y') |
+------------------------------------+
| 16.12.2013 |
+------------------------------------+
嘗試
mysql> select DATE(NOW());
+-------------+
| DATE(NOW()) |
+-------------+
| 2013-12-16 |
+-------------+
則比較正常工作
mysql> select DATE(STR_TO_DATE('13.12.2013 17:12 - Fr.', '%d.%m.%Y')) > DATE(NOW());
+-----------------------------------------------------------------+
| DATE(STR_TO_DATE('13.12.2013 17:12 - Fr.', '%d.%m.%Y')) > NOW() |
+-----------------------------------------------------------------+
| 0 |
+-----------------------------------------------------------------+
1 row in set, 1 warning (0.00 sec)
mysql> select DATE(STR_TO_DATE('13.12.2013 17:12 - Fr.', '%d.%m.%Y')) < DATE(NOW());
+-----------------------------------------------------------------+
| DATE(STR_TO_DATE('13.12.2013 17:12 - Fr.', '%d.%m.%Y')) < NOW() |
+-----------------------------------------------------------------+
| 1 |
+-----------------------------------------------------------------+
1 row in set, 1 warning (0.00 sec)
我建議發佈一個關於「如何在MySQL DATETIME列中存儲Joomla Datetime選擇器結果」的問題。要求(在這種情況下,您需要有DATETIME值)應該確定您的數據類型。前端應該永遠不會*指定你的數據類型。 –
問題是,我完全需要它,'13.12.2013 17:12 - Fr.'。日期,時間和星期幾。或者是否有任何解決方案像這樣在日期時間欄中保存它? – eScoo
您可以在語言的ini文件中更改日期格式.. –