我用php在表格中显示mysql中的datetime字段的内容,并希望只显示日期。有没有办法转换或执行此操作,还是必须编辑或修剪实际字符串?
答案 0 :(得分:4)
一个简单的方法是这样的:
$date="2009-01-27 14:30:22";
echo strftime("%d %m %Y", strtotime($date));
即。将您的mysql日期转换为strtotime的时间值,然后使用strftime重新格式化。
但是,这仅适用于可由unix timestamp表示的日期 - 因此在1970年1月1日之前或2038之后没有日期
PEAR Date classes采用更彻底的方法,应该更好地应对历史日期:
$date=new void Date("2009-01-27 14:30:22");
echo $date->format("%d %m %Y");
或者,使用DATE_FORMAT
让您的数据库格式化SELECT col1,col2,DATE_FORMAT(col2, '%W %M %Y') as col2readable FROM mytable;
答案 1 :(得分:2)
你可以用PHP做到这一点,但是如果你不需要额外的行李,你可以考虑在你的查询中做这件事并只返回你需要的东西。此示例使用DATE_FORMAT():
"SELECT col1, col2, DATE_FORMAT(dateCol, '%d-%m-%Y') as 'newDate'
FROM tablename"