我傳遞的日期時間:javascript日期/時間字符串轉換爲SQL日期時間
2015-12-23T09:57:00.000Z
要MariaDB的存儲過程。存儲過程不喜歡javascript日期/時間,我如何轉換在存儲過程中使用的日期/時間?
我一直在玩弄 'STR_TO_DATE':
select str_to_date('2015-12-23T09:57:00.000Z', '%Y-%M-%dT%h:%i:%s');
但是這個回報率(NULL)。
我傳遞的日期時間:javascript日期/時間字符串轉換爲SQL日期時間
2015-12-23T09:57:00.000Z
要MariaDB的存儲過程。存儲過程不喜歡javascript日期/時間,我如何轉換在存儲過程中使用的日期/時間?
我一直在玩弄 'STR_TO_DATE':
select str_to_date('2015-12-23T09:57:00.000Z', '%Y-%M-%dT%h:%i:%s');
但是這個回報率(NULL)。
1)替代 通字符串轉換成存儲過程,然後在SQL轉換爲datetime這樣的:
select CONVERT(DATETIME,REPLACE(REPLACE('2015-12-23T09:57:00.000Z','T',' '),'Z',''))
這個工作,只要你添加轉換類型:SELECT CONVERT(REPLACE(REPLACE('2015-12-23T09:57:00.000Z','T',''),'Z',''),DATETIME); – SPlatten
您可以使用時間戳,在JS獲得UNIX時間戳,像這樣
var now = new Date(),
unixTimestamp = Math.floor(now.getTime()/1000);
// JS operates with miliseconds, divide by 1000 to get seconds
而且在mariaDB使用功能FROM_UNIXTIME(timestamp)
您的%M
應該是%m
。
另一種方法:
+-----------------------------------------------------------------------+
| str_to_date(LEFT('2015-12-23T09:57:00.000Z',19), '%Y-%m-%dT%h:%i:%s') |
+-----------------------------------------------------------------------+
| 2015-12-23 09:57:00 |
+-----------------------------------------------------------------------+
如果你有5.6.4或更高版本:
+-----------------------------------------------------------------+
| str_to_date('2015-12-23T09:57:00.987Z', '%Y-%m-%dT%h:%i:%s.%f') |
+-----------------------------------------------------------------+
| 2015-12-23 09:57:00.987000 |
+-----------------------------------------------------------------+
嘗試使用'Date.toLocaleString()發送它作爲字符串' – Rajesh