我想转换我有格式
的数据$dateToday = date("d-m-Y");
所以$ dateToday的值是 27-12-2012
然后我想用mysql数据类型 date 将它保存到数据库中。如何保持 27-12-2012 的值,它可以存储在mysql数据库中,格式为 2012-12-27 ? 请帮帮我。谢谢
答案 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));