Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/460.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/date/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript日期/时间字符串到sql日期时间_Javascript_Date_Mariadb_Type Conversion - Fatal编程技术网

Javascript日期/时间字符串到sql日期时间

Javascript日期/时间字符串到sql日期时间,javascript,date,mariadb,type-conversion,Javascript,Date,Mariadb,Type Conversion,我正在过一个约会时间: 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,如下所示:

我正在过一个约会时间:

    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',''))
1) 另类 将字符串传递到存储过程中,然后在sql中转换为datetime,如下所示:

select CONVERT(DATETIME,REPLACE(REPLACE('2015-12-23T09:57:00.000Z','T',' '),'Z',''))

您可以使用时间戳,在JS中获得UNIX时间戳,如下所示

var now = new Date(),
    unixTimestamp = Math.floor(now.getTime() / 1000);
    // JS operates with miliseconds, divide by 1000 to get seconds

在mariaDB中使用函数

可以使用时间戳,在JS中使用UNIX时间戳,如下所示

var now = new Date(),
    unixTimestamp = Math.floor(now.getTime() / 1000);
    // JS operates with miliseconds, divide by 1000 to get seconds

在mariaDB使用函数时,您的
%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                                      |
+-----------------------------------------------------------------+

您的
%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.tolocalString()将其作为字符串发送。
尝试使用
Date.tolocalString()将其作为字符串发送。
只要添加转换类型,此操作就有效:选择转换(替换(替换('2015-12-23T09:57:00.000Z','T','','Z','',DATETIME));只要添加转换类型:选择转换(替换(替换('2015-12-23T09:57:00.000Z','T','','Z',''),日期时间);