我无法理解如何在 SQL 中操作日期格式。我创建了一个列并将类型设置为 date
。默认格式似乎是 yyyy-mm-dd
。我更喜欢 Jan 1, 2015
这样的格式。是否最好将实际数据以看似标准的 yyyy-mm-dd
格式保存在 SQL 中并从那里进行转换?
在我的例子中,我想创建基于我的 SQL 日期数据的选择(下拉)html 表单。但我希望日期以 Jan 1, 2015
格式显示。所以看来我需要将 SQL 数据转换为我想要的格式,然后在提交回 SQL 时我需要将其重新转换为标准格式。对于后一部分,以下代码似乎有效。但是我如何完成之前的任务,即采用 yyyy-mm-dd
并将其转换为我喜欢的格式?
$myinput='Jan 1, 2015';
$sqldate=date('Y-m-d',strtotime($myinput));
echo $sqldate;
最佳答案
您可以使用 DATE_FORMAT()将您的日期值转换为您想要的格式。至于你的情况:
SELECT DATE_FORMAT(`your_col_name`,'%b %d, %Y') AS `your_col_name` FROM `tbl_name`
另一方面,您可以使用 STR_TO_DATE()存储不同格式的
日期存入数据库。例如,如果你想将 Jan 1, 2015
存储到数据库中而不将其转换为 mysql 默认格式,那么你可以使用:
UPDATE `tbl_name` SET `date_col_name` =STR_TO_DATE($date_str,`%b %d, %Y`) WHERE {CONDITION}
但MySQL操作较少适合较快的查询。
关于php - 如何更改 SQL 表的日期(使用 phpmyadmin)?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32032041/