关于京东抢票的一个BUG
首先我不是京东员工,只是一个抢票回家的程序员
在抢票过程中遇见一个BUG,由于程序员的惯性思维 我就考虑了下是怎么出现这个BUG的。
实际情况不知道 毕竟不是我开发的 源代码我也没有
先说一下问题出现的情况:
我预约抢票了两张订单(来回),一张售票时间为2019年12月23 一张售票时间为2020年1月1号。。。具体时间就不说明了
第一张回家的订单:显示等待出票,没有问题。毕竟还没有到铁路规定的网上售票时间。
第二张回来的订单:显示抢票中。不用说大家也知道这个售票日期肯定是比较晚的那张2020年1月1号的
那么问题出现了,同样没有到售票的时间,咋还抢票中呢?
首先没有到售票时间 肯定最终抢不到票的,哪怕页面一直告诉我在抢票中。。。除非已经到售票时间才有可能抢到回来的票。这一点我很确信!!!
一下两张图片是京东显示给我的状态,也是我上述描述的问题。
一看到这种情况,我首先想到的是不是我买错日期了下错单了。事实证明 我没买错。售票时间提前30天也没有变。
我上述说的时间是抢票时间即售票时间。。。
我一想要是我写的代码,这个问题是怎么出现的呢
正常逻辑应该为:if(当前时间yyyyMMdd HH:mm:ss>=售票时间 yyyyMMdd HH:mm:ss) {抢票中} else {等待出票}
如果要出现这个问题 那就可能是 《时间忘记考虑了年份》
if(当前时间MMdd HH:mm:ss>=售票时间 MMdd HH:mm:ss) {抢票中} else {等待出票}
这里面肯定时候涉及到其他的逻辑 但是本质应该遵循铁路局发表的提前30天抢票的规章制度
哈哈 实际代码也许有很多逻辑抽象等等,不一定是我说的这种最简单的BUG,以上只是我推测的,要不然就是逻辑混乱了