格式化时间hh:mm:ss.0000000到hh:mm不起作用

时间:2014-05-04 05:06:02

标签: php sql-server date

我在PHP中使用MsSQL。我将time存储在数据库表行中,datetime作为数据类型。时间存储如下:08:30:00.0000000。我需要时间显示在08:30。我已经使用

date('h:i', $time_value); // $time_value stores the time value

这格式化日期并在4:00给出结果。显示存储在数据库中的正确时间需要任何格式化吗?

2 个答案:

答案 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

演示:https://eval.in/146148

您可以使用SQL语句进行转换/格式化,相关示例在:

中给出

答案 1 :(得分:1)

您也可以使用:

date('h:i', strtotime('08:30:00.0000000'));

在你的情况下:

date('h:i', strtotime($time_value));