为什么 date('H:i')会小于'8:00'?

2018-04-18 18:37:34 +08:00
 solaro

代码如下:

echo $a = date('H:i');

echo "-----------------";


echo $b = '8:00';
echo "-----------------";

$c = $a < $b;
var_dump($c);


die;


…………………………
输出结果:

18:30-----------------8:00-----------------bool(true)

一个时间选择器引发的坑,店铺的可以设置开店的时间,通常是 8 点~22 点,然后后台的 24h 时间选择器( timepicker ),默认时间是不带 0 的,就是 8 点 php 输出是 08,但是时间选择器输出是 8,然后代码里我是这么写的:

if (date('H:i') < $store->open_time) {
   echo '店铺尚未营业';
}

疑问:为什么'08:00' 会小于 '8:00' ???

1625 次点击
所在节点    问与答
9 条回复
lwbjing
2018-04-18 18:42:23 +08:00
0 难道不小于 8 吗?
cxbig
2018-04-18 18:53:38 +08:00
比对日期时间用相关函数先处理,不要把字符串直接放到代数逻辑里操作。
moult
2018-04-18 20:01:38 +08:00
solaro
2018-04-18 21:25:06 +08:00
阿西吧,谢谢

顺便求大神改一下这个,有大神有空可以往里加一个参数,当 24 小时制的时候显示 ,小时小于 10 前面可以自动补 0

https://github.com/jdewit/bootstrap-timepicker/releases
msg7086
2018-04-18 23:11:16 +08:00
比较时间不比较时间却比较字符?这操作谁教你的……
IceBay
2018-04-19 01:07:22 +08:00
请转换成时间戳进行比较
wd
2018-04-19 08:55:23 +08:00
python 门槛低
wd
2018-04-19 08:56:15 +08:00
@wd 应该是程序员门槛低…
2010
2018-04-19 09:21:09 +08:00
时间戳

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/447911

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX