我是PhP / MySQL的新手,只是学习东西。
我正在为我的项目使用Userspice用户管理框架
在数据库中有一个名为"users"
的表,它有一个字段名"join_date"
,字段条目看起来像2016-01-01 00:00:00
,它在用户注册时被存储为时间戳。
输出我使用以下查询
<?php $user->data()->join_date; ?>
以上查询作为预期输出2016-01-01 00:00:00
但我的要求输出为January 2016
。所以,我尝试了以下查询
<?php $user->data()->join_date->format('F Y'); ?>
但页面变为空白。我可以理解上面的查询有语法错误或逻辑错误。请你帮帮我。我可能看起来很傻,问这些小事,我只是在学习东西。
更新:
此外,我现在尝试以下查询,认为存储在值中并且执行将有助于但是空白页面的错误相同。
<?php
$x = $user->data()->join_date;
$y = $x->format('F-Y');
echo $y;
?>
答案 0 :(得分:1)
您需要使用strtotime
函数格式化日期:(将$date
替换为您的日期变量)
$date = '2016-01-01 00:00:00';
echo date('F Y', strtotime($date));
输出:
January 2016
此处DateTime
类是更好的选择:
$datetime = new DateTime($date);
echo $datetime->format('F Y');
输出:
January 2016
有关详细信息,请查看http://php.net/manual/en/function.date.php和http://php.net/manual/en/class.datetime.php
答案 1 :(得分:1)
试试这个
<?php
$formatted_date = new DateTime($user->data()->join_date);
echo $formatted_date->format('F Y');
?>