我在MySQL表中有以下两个名字:
message
的类型为text
date
的类型为datetime
<?php
while($row=mysql_fetch_array($result)){
?>
<tr>
<td><div><a><? echo $row['message'] ?></a></div></td>
<td><div><a><? echo $row['date']; ?></a></div></td>
</tr>
<?php
}
?>
上表的输出以2012-08-05 17:43:57
格式显示日期如何以2012-08-05(没时间)的格式打印日期?
我无法在MySQl中更改类型日期时间(在不同格式的不同页面中需要它)。
我尝试了以下内容,但它没有帮助(根本没有打印)
<td><div><a><? echo $rows['date'](“Y-m-d”); ?></a></div></td>
P.S。日期格式的其他组合给我语法错误。
非常感谢任何建议,
答案 0 :(得分:3)
你想要
<?php echo date('Y-m-d', strtotime($row['date'])); ?>
strtotime将您的日期字符串转换为unix-timestamp
然后,date函数根据字符串正确格式化。
答案 1 :(得分:0)
您希望date()
更改格式。
答案 2 :(得分:0)
答案 3 :(得分:0)
在MS-SQL和Oracle中有一些名为TO_CHAR的方法,您可以在其中传递您希望日期输入的格式,因此在获取数据时您可以更改它
答案 4 :(得分:0)
http://php.net/manual/en/datetime.format.php
<td><div><a><? echo new DateTime($row['date'])->format('Y-m-d'); ; ?></a></div></td>
答案 5 :(得分:0)
首先需要将其转换为日期:
$tmpdate = strtotime($row['date']);
$date = date('Y-M-d', $tmpdate);
echo $date;
当然,正如其他人所建议的那样,你可能会将其缩短,但我更喜欢“漫长的道路”来提高可读性,并帮助你在将来回顾旧代码时加快速度。 : - )
答案 6 :(得分:0)
每个人都在建议你用php做这件事,我总是用mySQL自己的日期函数来做这件事:
SELECT ... DATE_FORMAT(Date_Field ,'%Y-%e-%c') ...