将日期数据转换为mysql日期格式

时间:2012-12-27 14:17:06

标签: php mysql date

我想转换我有格式

的数据
$dateToday = date("d-m-Y");

所以$ dateToday的值是 27-12-2012

然后我想用mysql数据类型 date 将它保存到数据库中。如何保持 27-12-2012 的值,它可以存储在mysql数据库中,格式为 2012-12-27 ? 请帮帮我。谢谢

7 个答案:

答案 0 :(得分:3)

是的,您可以使用strtotime();

转换日期
$dateToday = date("d-m-Y");
$newDate = date("Y-m-d", strtotime($dateToday));

输出: 2012-12-27

然后您可以将数据存储到数据库中。

当您必须恢复日期时,您可以按照以下步骤撤消此操作:

$dateFromDatabase = "2012-12-27";
$reverseDate = date("d-m-Y", strtotime($dateFromDatabase));

输出: 27-12-2012

(在第二次约会中更正为“Y-m-d”为“d-m-Y”)

答案 1 :(得分:0)

如果要以此格式在MYSQL表中存储数据,则需要将列声明为varchar

因为datetime商店的日期采用其他格式,例如'yyyy-mm-dd hh:mm:ss'

答案 2 :(得分:0)

这是它的工作原理:

您必须以正确的mysql格式存储您的数据。它允许您进行任何订购,汇总,过滤和计算日期。

但是当您需要显示您的数据时,您可以使用mysql DATE_FORMAT()函数以任何您希望的格式转换它:

SELECT DATE_FORMAT(dt,'%d-%m-%Y') as dtf FROM TABLE

将为您提供以自定义格式

格式化的dtf字段

答案 3 :(得分:0)

我会告诉你如何做到这一点。 为了解释我创建了一个名为testtable1的表,它只包含一个名为的列 DATE类型的col1 表创建查询如下所示

CREATE TABLE `testtable1` (
    `col1` DATE NULL DEFAULT NULL
)

以下查询将按您的需要运行。 在第一行中,我声明了一个字符串变量。在第二行,我将该字符串转换为您所需的日期格式并插入表格。

set @var1='27-12-2012';
insert into testtable1 values(STR_TO_DATE(@var1, '%d-%m-%Y'))

答案 4 :(得分:0)

您也可以尝试使用mysql函数从字符串转换为日期,即 STR_TO_TIME 。 SQL查询可以是

INSERT INTO foo_table (foo_date)
VALUES (STR_TO_DATE('27-12-2012','%d,%m,%Y'))

答案 5 :(得分:0)

输出错误这不能显示数据库中的日期。这个节目1970/01/01 ..... $ date = Date($ year。“/”。$ month。“/”。$ day);  $ date =日期(“Y-m-d”,strtotime($ date)); echo $ date; enter code here

答案 6 :(得分:-1)

试试这个

$dateToday = date("d-m-Y");
$dateForMysql = date('Y-m-d', $dateToday));