【发布时间】:2012-05-03 09:44:11
【问题描述】:
我的 mysql 数据库中有一个日期,我想将其读入变量/数组,然后从 mm/dd/yyyy hh:mm:ss 转换为 DD MMM YYYY。这可能吗?如果可以,我将如何去做。
【问题讨论】:
-
mysql使用什么列类型?约会时间? varchar?
我的 mysql 数据库中有一个日期,我想将其读入变量/数组,然后从 mm/dd/yyyy hh:mm:ss 转换为 DD MMM YYYY。这可能吗?如果可以,我将如何去做。
【问题讨论】:
对于任何类型的日期格式转换,首先将旧日期转换为时间戳,然后将时间戳格式化为日期。
例子:
$old = "6-2-1992 10:24 PM";
$new = date("d/M/Y",strtotime($old));
echo $new; // result: 06/Feb/1992
请注意不要违反美国格式与英国格式(即 3 月 4 日是 4 月 3 日还是 3 月 4 日?)
【讨论】:
DateTime::createFromFormat 或 strptime 可用于明确指定预期格式。
如果它是一个日期时间字段(如它所显示的那样),只需让 MySQL 将日期作为时间戳提供给您:
SELECT UNIX_TIMESTAMP(my_date) As my_timestamp
那么你就可以使用php随意格式化时间戳了:
$formatted_date = date("d m Y",$timestamp);
问候
【讨论】:
为什么要将其存储在变量中并使用 PHP 进行转换?如果它是一个日期时间字段,只需在查询中使用 DATE_FORMAT 函数即可立即对其进行转换。
SELECT DATE_FORMAT(datetime, '%d/%b/%Y') datetime FROM table
【讨论】: