Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/powershell/12.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
Date 如何在MySQL中以dd-mm-yy格式插入日期?_Date_Datepicker_Date Format - Fatal编程技术网

Date 如何在MySQL中以dd-mm-yy格式插入日期?

Date 如何在MySQL中以dd-mm-yy格式插入日期?,date,datepicker,date-format,Date,Datepicker,Date Format,我必须在MySQL中插入日期,格式为dd-mm-yy 我知道如果我将日期格式更改为yy-mm-dd,它会工作,但我的客户希望它的格式为dd-mm-yy,MySQL日期的默认格式为0000-00-00 正如Honeyboy在评论中所说,您可以使用格式字符串%d-%m-%y的函数。您可以这样测试它: CREATE DATABASE test; USE TEST; CREATE TABLE test (date1 date); INSERT INTO test (date1) VALUES (STR_

我必须在MySQL中插入日期,格式为
dd-mm-yy


我知道如果我将日期格式更改为
yy-mm-dd
,它会工作,但我的客户希望它的格式为
dd-mm-yy
,MySQL日期的默认格式为
0000-00-00

正如Honeyboy在评论中所说,您可以使用格式字符串
%d-%m-%y
的函数。您可以这样测试它:

CREATE DATABASE test;
USE TEST;
CREATE TABLE test (date1 date);
INSERT INTO test (date1) VALUES (STR_TO_DATE("03-04-15","%d-%m-%y"));
然后

SELECT * FROM test;
您获得:

+------------+
| date1      |
+------------+
| 2015-04-03 |
+------------+
如果使用PHP,则可以编写一个准备好的语句,例如:

$stmt = $conn->prepare("INSERT INTO test (date1) VALUES (STR_TO_DATE(?,'%d-%m-%y'));");
$stmt->bind_param("s", $client_date);
$stmt->execute();

与其他语言的原理相同。

您可以使用str_to_date将日期字符串转换为MySQL的内部日期格式进行插入。是的,这没有问题,但用户正在以“dd-mm-yy”格式插入日期,因此,您可以从用户提供的字符串和SELECT_TO_DATE函数中进行插入。问题是,当用户以
dd-mm-yy
格式插入日期时,数据库中的值将是
0000-00-00
这意味着插入的日期必须是此格式
0000-00-00
如果我可以从在插入之前,请使用户将其转换为“yyyy-mm-dd”表单,是否有方法?