我总是使用以下日期函数获得2011年2月28日:
$time = $row['time'];
$date = date("F t Y",$time);
没有一个时间戳是在2月28日创建的(显然)但是这里仍然是代码的其余部分:
$sql = "SELECT * FROM `posts` WHERE `approved`='1' ORDER BY time DESC";
$res = mysql_query($sql) or die(mysql_error());
while($row = mysql_fetch_assoc($res)){
//Post//
$title = $row['title'];
$content = $row['content'];
$time = $row['time'];
$date = date("F t Y",$time);
$creatorid = $row['uid'];
$creator = username($creatorid);
echo "<div class=\"post\">
<h1>".$title."</h1>
<p class=\"entry\">".$content."</p>
<div class=\"byline\">
<p class=\"info\">
Posted ".$date." By ".$creator."
</p>
<p class=\"links\"><a href=\"#\">Read More</a> | <a href=\"#\">Comments</a></p>
</div>
</div>";
}
由于 卡梅伦
答案 0 :(得分:10)
问题出在这里:
$date = date("F t Y",$time);
这给出了输出: “月份名称”“该月份的天数(2月份为28天,1月份为31”和“年份”。
你应该改为:
$date = date("F j Y",$time);
OR
$date = date("F d Y",$time);
答案 1 :(得分:1)
$row['time']
的价值是多少?它很可能不是PHP支持的时间值,而是datetime
MYSQL类型。
改为使用:
$time = strtotime($row['time']);