如何使用PHP更改日期时间格式

时间:2014-06-13 09:04:37

标签: php mysql datetime

我使用这种格式将日期保存在数据库中。

date("o-m-d H:i:s");

我需要像这种格式的日期。

date("dmo");

我怎么能把它转换成这个。

5 个答案:

答案 0 :(得分:1)

使用谷歌,几个例子:

result = mysql_query("SELECT `datetime` FROM `table`");
$row = mysql_fetch_row($result);
$date = date_create($row[0]);

echo date_format($date, 'Y-m-d H:i:s');
#output: 2012-03-24 17:45:12

echo date_format($date, 'd/m/Y H:i:s');
#output: 24/03/2012 17:45:12

echo date_format($date, 'd/m/y');
#output: 24/03/12

echo date_format($date, 'g:i A');
#output: 5:45 PM

echo date_format($date, 'G:ia');
#output: 05:45pm

echo date_format($date, 'g:ia \o\n l jS F Y');
#output: 5:45pm on Saturday 24th March 2012

答案 1 :(得分:1)

当您将日期设置为

时,您可以执行此操作
date("o-m-d H:i:s");

它将作为2014-06-13 14:35:43

保存在数据库中

现在,当您从数据库中选择日期时,您可以使用date_format将日期更改为任何所需的格式。

mysql> select date_format('2014-06-13 14:35:43','%Y%m%d') as date ;
+----------+
| date     |
+----------+
| 20140613 |
+----------+
1 row in set (0.00 sec)

因此,在您的查询中,使用列名称更改硬编码值

select date_format(colname,'%Y%m%d') as date from mytable;

在此处了解有关mysql中日期格式的更多信息http://dev.mysql.com/doc/refman/5.5/en/date-and-time-functions.html#function_date-format

答案 2 :(得分:0)

echo date("dmo", strtotime($mysqldate));

答案 3 :(得分:0)

这是数据库定义的问题,而不是PHP。 MySQL仅支持某些格式的日期。我不认为你可以在原始数据库输入或输出中使用日期(" dmo")。此外,时区总是令人困惑。

我建议您将日期/时间格式存储在unix时间戳(1970-01-01 00:00:00 UTC的秒数)中,并使用date('some format', $timestamp);转换为您喜欢的任何内容。

数据库字段应为int(11) unsigned not null default 0

答案 4 :(得分:0)

select unix_timestamp(datecolumn) as date from yourtable

在php中:

$str = date("dmo", $row["date"]);

这使用unix时间作为数字,它比字符串操作快得多,以格式化数据库中的日期,然后在php中解析它并再次格式化。