V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
V2EX 提问指南
solaro
V2EX  ›  问与答

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

  •  
  •   solaro · 2018-04-18 18:37:34 +08:00 · 1697 次点击
    这是一个创建于 2415 天前的主题,其中的信息可能已经有所发展或是发生改变。

    代码如下:

    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' ???

    9 条回复    2018-04-19 09:21:09 +08:00
    lwbjing
        1
    lwbjing  
       2018-04-18 18:42:23 +08:00
    0 难道不小于 8 吗?
    cxbig
        2
    cxbig  
       2018-04-18 18:53:38 +08:00   ❤️ 1
    比对日期时间用相关函数先处理,不要把字符串直接放到代数逻辑里操作。
    moult
        3
    moult  
       2018-04-18 20:01:38 +08:00   ❤️ 2
    solaro
        4
    solaro  
    OP
       2018-04-18 21:25:06 +08:00
    阿西吧,谢谢

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

    https://github.com/jdewit/bootstrap-timepicker/releases
    msg7086
        5
    msg7086  
       2018-04-18 23:11:16 +08:00
    比较时间不比较时间却比较字符?这操作谁教你的……
    IceBay
        6
    IceBay  
       2018-04-19 01:07:22 +08:00
    请转换成时间戳进行比较
    wd
        7
    wd  
       2018-04-19 08:55:23 +08:00 via iPhone
    python 门槛低
    wd
        8
    wd  
       2018-04-19 08:56:15 +08:00 via iPhone
    @wd 应该是程序员门槛低…
    2010
        9
    2010  
       2018-04-19 09:21:09 +08:00 via Android
    时间戳
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   2991 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 24ms · UTC 14:48 · PVG 22:48 · LAX 06:48 · JFK 09:48
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.