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