1

当我从数据库中提取日期时,它会像这样返回:

2009-10-14T19:00:00

我想用两种不同的方式格式化它......

第一个:F d, Y 第二个 h:m(12 小时格式)

我尝试的一切都返回 1969 年 12 月……救命?!我觉得好迷茫...

4

4 回答 4

6

这是基本的日期功能:

$dt = new DateTime('2009-10-14T19:00:00');
echo $dt->format('F d, Y');
echo $dt->format('h:m');

看到它在行动

于 2013-06-27T16:02:35.653 回答
0

试试这个 PHP 代码。

<?php
echo date('F d, Y', strtotime('2009-10-14T19:00:00'));
echo date('h:m', strtotime('2009-10-14T19:00:00'));
?>
于 2013-06-27T16:05:32.733 回答
0
$timezone = "UTC";
date_default_timezone_set($timezone);
$utc = '2009-10-14T19:00:00';
print date('F d, Y h:m', strtotime($utc)) . "\n";
于 2013-06-27T16:06:05.813 回答
0

您应该在 SQL 查询中执行此操作:

    SELECT DATE_FORMAT(`date`,'%M %e, %Y') FROM table ORDER BY date DESC

其中“日期”是您的日期列的名称,“表格”是您的表格。这将以 2009 年 10 月 14 日的格式返回日期。

如果您希望检索其他格式,请使用:

    SELECT DATE_FORMAT(`date`,'%H:%i:%s') FROM table ORDER BY date DESC

然后,您只需要使用 PHP 访问表列中的值,我假设您已经可以根据您的问题进行操作。

于 2013-06-27T16:28:10.857 回答