1

有谁知道如何以 dd-mm-yyyy 格式将日期插入列(日期类型)?

我正在使用日历,它选择像dd-mm-yyyy这样的日子,但由于默认使用mysql的格式(yyyy-mm-dd),它无法插入。

问题是,我需要比较日历插入的日期和使用 current_date 函数自动插入的日期。基本上我有列 DoR (date_of_registration) 和 Status。我已经制作了日期类型的 DoR 和 varchar() 的状态。在状态中,我使用日历插入日期。因此,无论如何我已经比较了它,但它给出了奇怪的结果。我想它没有正确比较。

有任何想法吗?

谢谢

4

6 回答 6

5

像这样将日历的输出转换为日期格式

$cal_date=17-08-2012;
$date=date('Y-m-d',strtotime($cal_date));
echo $date; //gives date as 2012-08-17

现在您可以将此日期插入mysql并进行比较

于 2012-08-17T09:34:41.953 回答
1
select str_to_date('31-12-2012', '%d-%m-%Y')

STR_TO_DATE

于 2012-08-17T09:33:59.500 回答
0

您只需要这两个功能:

STR_TO_DATE()

DATE_FORMAT()

于 2012-08-17T09:32:10.257 回答
0

请始终将日期存储为 MySQL 中的 DATE 类型。如果您需要以其他形式选择它,请使用正确的字符串函数DATE_FORMAT

于 2012-08-17T09:32:20.090 回答
0

您不需要将数据库插入为 dd-mm-yyyy。您必须使用日期格式。如果你在 php 中编写代码,你可以解析你想要的每种类型的日期

选择数据库的日期时间。date("Y-m-d H:i:s");并在您想要回显不同格式的日期时插入日期数据,例如

echo date('d-m-Y', strtotime('2012-08-17 19:00:00'));
于 2012-08-17T09:42:02.970 回答
0

还有另一种存储日期的方法,如果您选择

`<input type="date" name="bdate" />
`

然后它直接将日期以yyyy-MM-DD格式存储到数据库中。这里我的文本字段格式是 dd-mm-yyyy。在这里,您不必使用转换字符串strtotime()

于 2015-12-29T10:38:10.723 回答