dongyun7897 2015-06-20 10:54
浏览 92

使用YYYY-MM-DD格式而不是unix时间戳来比较日期是否安全?

I usually use strtotime first to convert YYYY-MM-DD to unix timestamp then compare them but this appears to work just fine:

echo ('2015-01-01' < '2015-01-02')? 1 : 0; // returns 1

I was wondering, is this "simpler" method reliable for basic comparison operators e.g., <, >, <=, =>?

  • 写回答

1条回答 默认 最新

  • dsf5989 2015-06-20 11:00
    关注

    Comparing strings in PHP using < and > is not a good idea because implicit type conversions to integers and other types are involved.

    Using strcmp is better and will actually work, dates in YYYY-mm-dd have the same ordering chronologically and alphabetically. It is often used in databases where an index is created on a datetime column and then using WHEREs the column is filtered by comparing strings.

    I will strongly recommend though creating \DateTime or \DateTimeImmutable objects and working with those (you can use comparison operators on them). UNIX timestamps were a good choice before PHP 5.2, but today the object approach is the better one.

    评论

报告相同问题?

悬赏问题

  • ¥15 基于卷积神经网络的声纹识别
  • ¥15 Python中的request,如何使用ssr节点,通过代理requests网页。本人在泰国,需要用大陆ip才能玩网页游戏,合法合规。
  • ¥100 为什么这个恒流源电路不能恒流?
  • ¥15 有偿求跨组件数据流路径图
  • ¥15 写一个方法checkPerson,入参实体类Person,出参布尔值
  • ¥15 我想咨询一下路面纹理三维点云数据处理的一些问题,上传的坐标文件里是怎么对无序点进行编号的,以及xy坐标在处理的时候是进行整体模型分片处理的吗
  • ¥15 CSAPPattacklab
  • ¥15 一直显示正在等待HID—ISP
  • ¥15 Python turtle 画图
  • ¥15 stm32开发clion时遇到的编译问题