You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

从SQL Server获取的Time值在PHP中转字符串后不匹配求助

问题分析&解决方案

嘿,我一眼就揪出问题的核心啦!你当前的输出不匹配,最主要的原因是你用错了日期格式符!

你写的格式字符串是"H:m:s",这里的m代表的是月份(两位数字),而不是你想要的分钟!分钟对应的格式符应该是i。

当你用m的时候,PHP会从时间对象里取月份值——因为你的字段是time类型,没有日期部分,它会用默认日期的月份(比如如果默认是3月,就会输出03),这就正好对应了你看到的23:03:12里的03,而原时间的分钟15根本没被正确读取!

修正后的代码

把格式符换成H:i:s就可以正确读取时分秒了:

<?= date_format( $row["time"], "H:i:s" ) ?>

关于时区的补充

虽然这次的问题不是时区导致的,但如果后续遇到时间数值偏移的情况,确实需要确保PHP的时区和数据库的时区一致。你可以在代码开头设置时区,比如:

date_default_timezone_set('Asia/Jakarta'); // 根据你的实际时区调整

或者在php.ini文件里配置date.timezone参数,避免每次都在代码里设置。

内容的提问来源于stack exchange,提问作者Donny Pratama

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.05.20 10:32:57