我在PHP中使用MsSQL。我将time
存储在数据库表行中,datetime
作为数据类型。时间是这样存储的:08:30:00.0000000
,我需要时间显示在08:30
,我使用
date('h:i', $time_value); // $time_value stores the time value
这将格式化日期并以4:00给出结果。需要任何格式来显示存储在数据库中的正确时间?
PHP date
函数不期望Mysql的datetime
作为第二个参数,但是你这样做了:
date('h:i', $time_value);
^
|
second parameter
这就是为什么它不起作用的原因。您使用了错误的值,请先将数据库值转换为时间戳,因为日期函数需要时间戳。你可以想象,这是以前做过的,这里只是一个相关的Q& a材料的选择:
- MySQL将datetime转换为unix时间? MySQL将datetime转换为Unix时间戳
或者只是使用像substr
这样的字符串函数来获取您正在寻找的字符串:
$time_value = '08:30:00.0000000';
echo substr($time_value, 0, 5); # 08:30
演示:https://eval.in/146148
您已经可以使用SQL语句进行转换/格式化,相关示例如下:
- 如何以HH:MM格式显示时间?
您也可以使用:
date('h:i', strtotime('08:30:00.0000000'));
在你的例子中:
date('h:i', strtotime($time_value));