我正在尝试格式化来自数据库的日期时间,格式为
2012-06-11 21:39:54
但是我希望它以以下格式显示June 11
怎么能做到这一点?
谢谢
echo date('M d', strtotime('2012-06-11 21:39:54'));
您还可以使用 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
}
等等
PHP 手册提供了有关使用日期/时间函数的优秀文档。基本上,您将需要两个函数的组合:strtotime()和date()。
strtotime()
会将您的日期转换为可以date()
作为第二个参数提供的 Unix 时间戳。
您需要的日期格式为:M d
.
替代方案:此外,您还可以尝试不需要转换为 UNIX 时间戳的 MYSQL 对应项。它记录在这里。假设您使用date
日期时间字段,您将需要这样的东西,
SELECT id,..,DATE_FORMAT(`date`, '%M %d') as f_date FROM table
对于使用 php 格式化日期,您需要将日期的时间戳
和格式说明符作为参数传递给 date 函数。例如 echo date('M d',strtotime('2012-06-11 21:39:54'));