如何更改时间配置?

时间:2013-12-18 21:35:21

标签: php mysql sql date time

是否可以更改date()的配置;那已经插入数据库了吗?

例如: 现在,日期按以下方式显示:2013年12月12日下午12:28

有没有办法只显示我从中选择的部分?比如“12 DEC”。

尝试在PHP中完成此操作。

谢谢!

3 个答案:

答案 0 :(得分:1)

使用date()功能。如果您正在尝试格式化数据库条目中的值,请获取它并使用strtoupper(date('j M',strtotime($row['column'])))显示它(它将输出您正在寻找的格式并将所有内容大写,例如您提供的示例)

答案 1 :(得分:1)

不要将日期/时间值(特别是格式错误)存储为数据库中的字符串,因为您无法正常维护和查询数据。如果您以秒为单位存储Unix纪元时间,请使用适当的日期data typesDATETIMETIMESTAMP甚至INT

您可以通过以下方式将数据类型从VARCHAR更改为DATETIME

UPDATE table_name
   SET column_name = STR_TO_DATE(column_name, '%M %D, %Y, %h:%i %p');
ALTER TABLE table_name CHANGE column_name column_name DATETIME;

这是 SQLFiddle 演示

现在,您可以通过date列正确轻松地过滤和订购数据,例如:

SELECT * 
  FROM table_name
 WHERE column_name >= '2013-12-17'
   AND column_name < '2013-12-18'
 ORDER BY column_name DESC;

现在,您可以使用DATE_FORMAT()功能轻松地显示日期时间值,例如:

SELECT DATE_FORMAT(column_name, '%d %b') formatted_date
  FROM table_name;

示例输出:

| FORMATTED_DATE |
|----------------|
|         17 Dec |
|         18 Dec |

这是 SQLFiddle 演示


与此同时,如果您需要立即解决方案,您可以

SELECT DATE_FORMAT(STR_TO_DATE(column_name, '%M %D, %Y, %h:%i %p'), '%d %b') formatted_date
  FROM table_name;

这是 SQLFiddle 演示

答案 2 :(得分:0)

要获取格式的日期,请尝试:

<?php
echo date('d M');
?>

但是,您需要更新表格中的每一行以更改其值。