PHP查询数据库后只显示年月日

phpmyxinshou 2010-08-20 05:05:05
数据库字段类型为timestamp,查询出在表中显示的是 0000-00-00 00:00:00
我只想显示前面的年月日。怎么办
...全文
752 15 打赏 收藏 转发到动态 举报
写回复
用AI写文章
15 条回复
切换为时间正序
请发表友善的回复…
发表回复
wuxyyin 2010-08-22
  • 打赏
  • 举报
回复
[Quote=引用 4 楼 phpmyxinshou 的回复:]

我是这么输出各表字段的
PHP code
while ($row = mysql_fetch_array($result)) {
echo '<tr align="center" class="shu">';
echo '<td><input type=checkbox name="hid[]" value="'.$row['h_id'].'" ></td>';
……
[/Quote]

LS要是你一定要保存到数据库中0000-00-00 00:00:00格式的话,
那你可以考虑一下这样:

while ($row = mysql_fetch_array($result)) {
echo '<tr align="center" class="shu">';
echo '<td><input type=checkbox name="hid[]" value="'.$row['h_id'].'" ></td>';
echo '<td>'.$row['hotel_id'].'</td>';
echo '<td>'.date('Y-m-d', strtotime($row['start_date'])).'</td>';
echo '<td>'.date('Y-m-d', strtotime($row['end_date'])).'</td>';
echo '<td>'.$row['content'].'</td>';
echo '<td>'.$row['source'].'</td>';
echo '<td>'.$row['s_type'].'</td>';
echo '<td>'.' <a href="upedit.php?hid='.$row['h_id'].'" >编辑</a> '.'</td>';
echo '</tr>';


但是不推荐在数据库中保存0000-00-00 00:00:00的格式,还是以UNIX时间戳的方式保存吧~~
wuxyyin 2010-08-22
  • 打赏
  • 举报
回复
同意LS的,数据库中最好是使用10位的UNIX时间戳~~
然后格式化时间的话,在php中使用date函数就可以了~~
leafnet 2010-08-21
  • 打赏
  • 举报
回复
查询时使用mysql中的日期格式化函数:
select date_format(时间字段名,'%Y-%m-%d') as shortdate from table
zhenglqiu 2010-08-21
  • 打赏
  • 举报
回复
推荐在数据库中存储UNIX时间戳,11位整数;
然后读取的时候用date()函数格式化成你想要的格式!很方便!我喜欢这样做.....
xiexiaokang 2010-08-20
  • 打赏
  • 举报
回复
用函数截取就行了 echo date('Y-m-d',time($date));
ihefe 2010-08-20
  • 打赏
  • 举报
回复
[Quote=引用 2 楼 phpmyxinshou 的回复:]

引用 1 楼 piger920 的回复:
substr($yourtime,0,10)

写在哪
[/Quote]


echo '<td>'.substr($row['start_date'],0,10).'</td>';
echo '<td>'.substr($row['end_date'],0,10).'</td>';

c461439564 2010-08-20
  • 打赏
  • 举报
回复
暂不分析你出错的原因(下班了),
==============================
时间类型易出问题那么就
字段类型改成int
在插入数据时strtotime()将时间转换,读出时date('Y-m-d H:i:s',$date);转过来

试试
phpmyxinshou 2010-08-20
  • 打赏
  • 举报
回复
[Quote=引用 7 楼 c461439564 的回复:]
字段类型改成date
[/Quote]
我的意思是数据库显示 0000-00-00 00:00:00
查询后表中输出0000-00-00
c461439564 2010-08-20
  • 打赏
  • 举报
回复
字段类型改成date
c461439564 2010-08-20
  • 打赏
  • 举报
回复
//$date查询出的时间//3L函数写错了
echo date('Y-m-d',strtotime($date));
phpmyxinshou 2010-08-20
  • 打赏
  • 举报
回复
[Quote=引用 3 楼 c461439564 的回复:]
//$date查询出的时间
echo date('Y-m-d',time($date));
[/Quote]
可是我数据库中的就显示0000-00-00 00:00:00
应该显示0000-00-00
phpmyxinshou 2010-08-20
  • 打赏
  • 举报
回复
我是这么输出各表字段的
while ($row = mysql_fetch_array($result)) { 
echo '<tr align="center" class="shu">';
echo '<td><input type=checkbox name="hid[]" value="'.$row['h_id'].'" ></td>';
echo '<td>'.$row['hotel_id'].'</td>';
echo '<td>'.$row['start_date'].'</td>';
echo '<td>'.$row['end_date'].'</td>';
echo '<td>'.$row['content'].'</td>';
echo '<td>'.$row['source'].'</td>';
echo '<td>'.$row['s_type'].'</td>';
echo '<td>'.' <a href="upedit.php?hid='.$row['h_id'].'" >编辑</a> '.'</td>';
echo '</tr>';
c461439564 2010-08-20
  • 打赏
  • 举报
回复
//$date查询出的时间
echo date('Y-m-d',time($date));
phpmyxinshou 2010-08-20
  • 打赏
  • 举报
回复
[Quote=引用 1 楼 piger920 的回复:]
substr($yourtime,0,10)
[/Quote]
写在哪
PIGer920 2010-08-20
  • 打赏
  • 举报
回复
substr($yourtime,0,10)

21,887

社区成员

发帖
与我相关
我的任务
社区描述
从PHP安装配置,PHP入门,PHP基础到PHP应用
社区管理员
  • 基础编程社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧