所以我花了2个小时思考下面的问题(最后可以通过添加一个看似很琐碎的细节来解决它……)
我比较了mysql数据库中的一组daterange,看是否与用户请求的daterange重叠(userinput已经清除)。
我在此线程中使用了以下if语句:确定两个日期范围是否重叠
(StartA <= EndB) and (EndA >= StartB)
当满足此条件时,由于重叠,应该拒绝用户的请求。
现在,如标题中所述,我将用户的dateinput格式化为'y-m-d'格式。现在,一切都很好,只是当用户输入的daterange的末尾碰到数据库中daterange的开头时。然后,条件未能发现重叠。我真的很困惑,我花了2个小时,出于绝望,我试图格式化为“y-m-dh:i:s”,这也是数据库中的格式(h:i:s被设置为00:00:00),看看会发生什么。
突然间一切都好了为什么?我特别困惑,因为任何其他情况下,评估是正确的,只有这个具体的情况下,上述是没有。我现在非常确定,当日期的格式不完全相同时,php必须自动执行或假设日期。但我不知道它到底做了什么,我真的很想知道,因为它可能会在某些时候帮助我面对类似的问题。
谢谢你的意见!
暂无答案!
目前还没有任何答案,快来回答吧!