Date 如何在MySQL中以dd-mm-yy格式插入日期?
我必须在MySQL中插入日期,格式为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_
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”表单,是否有方法?