MySQL+;PHP沿着一个干净的日期字段返回时间
MySQL上的表有几个日期类型的列,在phpMyAdmin和MySQL web front上浏览表时,我可以看到数据是普通日期 但是,当我在PHP上运行一个简单脚本时,其中一列返回的时间戳为YYYY-MM-DD 00:00:00 我将文件和数据库都迁移到了另一个系统,我再也不能重现这个bug了 这是由于PHP/MySQL的一些错误配置造成的,还是数据插入的方式可能导致数据损坏并查询时返回意外的时间戳 例如: 类似以下的查询:MySQL+;PHP沿着一个干净的日期字段返回时间,php,mysql,date,Php,Mysql,Date,MySQL上的表有几个日期类型的列,在phpMyAdmin和MySQL web front上浏览表时,我可以看到数据是普通日期 但是,当我在PHP上运行一个简单脚本时,其中一列返回的时间戳为YYYY-MM-DD 00:00:00 我将文件和数据库都迁移到了另一个系统,我再也不能重现这个bug了 这是由于PHP/MySQL的一些错误配置造成的,还是数据插入的方式可能导致数据损坏并查询时返回意外的时间戳 例如: 类似以下的查询: "SELECT `cf_719`,`cf_711` FROM `vti
"SELECT `cf_719`,`cf_711` FROM `vtiger_ticketcf` WHERE `ticketid`=682"
如果cf_719和cf_711都是日期类型,则返回
array(2) { ["cf_719"]=> string(19) "2015-04-08 00:00:00" ["cf_711"]=> string(10) "2015-04-08" }
编辑:看来我找到了解决方案。问题是他们的phpMyAdmin应用程序中似乎存在一个bug,它将字段显示为“date”,然而,mysql命令行工具query DESC显示它是datetime类型。我甚至不知道应该从中学习什么-只相信命令行。日期字段的值是
日期时间字段的一个特殊子集,包含午夜(00:00)的时间
我不知道为什么一个php实例只显示日期,而另一个实例显示日期和时间。但我知道这是不可预测的行为
通常需要在显示此类数据之前对其进行格式化,以便显示所需的分辨率。即使你想要时间,你也可能只想要小时和分钟
这个问答告诉您如何在php中实现这一点。像这样的东西会有用的
$timestamp = strtotime($row['DATETIMEAPP']);
$date = date('d-m-Y', $timestamp);
DATE
字段的值是DATETIME
字段的一个特殊子集,包含午夜(00:00),时间应该在午夜
我不知道为什么一个php实例只显示日期,而另一个实例显示日期和时间。但我知道这是不可预测的行为
通常需要在显示此类数据之前对其进行格式化,以便显示所需的分辨率。即使你想要时间,你也可能只想要小时和分钟
这个问答告诉您如何在php中实现这一点。像这样的东西会有用的
$timestamp = strtotime($row['DATETIMEAPP']);
$date = date('d-m-Y', $timestamp);
你能显示你的代码或数据库表吗?因为它有一些敏感数据,所以不能提供太多,但我会尽可能多地提供来压缩问题。你能显示你的代码或数据库表吗?因为它有一些敏感数据,所以不能提供太多,但我会尽可能多地提供来压缩问题