-3

我正在尝试格式化来自数据库的日期时间,格式为

2012-06-11 21:39:54

但是我希望它以以下格式显示June 11

怎么能做到这一点?

谢谢

4

4 回答 4

4
echo date('M d', strtotime('2012-06-11 21:39:54'));

输出

于 2012-08-11T12:10:51.820 回答
3

您还可以使用 DateTime 对象。

$date = new DateTime($yourString);
$date->format($yourFOrmat);

我认为这将是最好的方法,因为 DateTime 确实比 timestamp 和 date/strtotime 函数更强大。从我上面给出的代码中,您可以添加诸如修改日期、迭代时间、比较 2 个没有诸如 str_to_time 之类的函数的日期之类的功能...

$date->modify('+1 day');//the day after for example
foreach(new DatePeriod($date,new DateInterval('PT1M'),10){
    $date->format($yourFormat);//iterate each minute
}  

等等

于 2012-08-11T12:21:14.940 回答
1

PHP 手册提供了有关使用日期/时间函数的优秀文档。基本上,您将需要两个函数的组合:strtotime()date()

strtotime()会将您的日期转换为可以date()作为第二个参数提供的 Unix 时间戳。

您需要的日期格式为:M d.

替代方案:此外,您还可以尝试不需要转换为 UNIX 时间戳的 MYSQL 对应项。它记录在这里。假设您使用date日期时间字段,您将需要这样的东西,

SELECT id,..,DATE_FORMAT(`date`, '%M %d') as f_date FROM table
于 2012-08-11T12:12:32.173 回答
-1

对于使用 php 格式化日期,您需要将日期的时间戳
和格式说明符作为参数传递给 date 函数。例如 echo date('M d',strtotime('2012-06-11 21:39:54'));

于 2012-08-11T14:05:44.577 回答