PHP查询数据库后只显示年月日 数据库字段类型为timestamp,查询出在表中显示的是 0000-00-00 00:00:00我只想显示前面的年月日。怎么办 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 //$date查询出的时间echo date('Y-m-d',time($date)); 我是这么输出各表字段的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>'; //$date查询出的时间//3L函数写错了echo date('Y-m-d',strtotime($date)); 暂不分析你出错的原因(下班了),==============================时间类型易出问题那么就字段类型改成int在插入数据时strtotime()将时间转换,读出时date('Y-m-d H:i:s',$date);转过来试试 echo '<td>'.substr($row['start_date'],0,10).'</td>'; echo '<td>'.substr($row['end_date'],0,10).'</td>'; 用函数截取就行了 echo date('Y-m-d',time($date)); 查询时使用mysql中的日期格式化函数:select date_format(时间字段名,'%Y-%m-%d') as shortdate from table 推荐在数据库中存储UNIX时间戳,11位整数;然后读取的时候用date()函数格式化成你想要的格式!很方便!我喜欢这样做..... 同意LS的,数据库中最好是使用10位的UNIX时间戳~~然后格式化时间的话,在php中使用date函数就可以了~~ 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时间戳的方式保存吧~~ PHP怎样才能循环出传过来的数据;代码如下 fck如何设置默认字号 php如何实现文件夹监听 刚转行PHP 问几个问题 有愿意回答的来 特殊汉字转化为utf-8 iconv("GB2312","UTF-8","浐潟滻") php代码中的LA_PRE什么意思? 关于正则表达式的一个难题(在线等) 数组问题,求教???高手看过来 谁有php_mysql.dll文件? 哪里有apache的详细配置说明! PHP添加注册登陆系统时的问题。 超全局变量$G赋值问题
echo date('Y-m-d',time($date));
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>';
echo date('Y-m-d',strtotime($date));
==============================
时间类型易出问题那么就
字段类型改成int
在插入数据时strtotime()将时间转换,读出时date('Y-m-d H:i:s',$date);转过来试试
echo '<td>'.substr($row['end_date'],0,10).'</td>';
select date_format(时间字段名,'%Y-%m-%d') as shortdate from table
然后读取的时候用date()函数格式化成你想要的格式!很方便!我喜欢这样做.....
然后格式化时间的话,在php中使用date函数就可以了~~
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时间戳的方式保存吧~~