最近在研究魔兽战网API,
发现个有意思的地方
在魔兽战网API返回的jsion数据中,常常有"timestamp":1392787740000这些数据,
不过安时间戳的计算出来时间却是: 46105年9月8日 下午7:20:00 这差到十万八千里去了
仔细看过多组数据发现后面这些timestamp末尾都是4个0,
试了试计算1392787740这个时间戳,得到结果是2014年2月19日 下午1:29:00,这才是正确时间
为什么魔兽战网的timestamp用使用这种特别的格式,吧标准的时间戳数据个位数归0然后再最佳3位0,既:
魔兽战网"timestamp" = 1392787740 | 000
标准时间戳模糊个位数 | 追加三位0
时间戳数据1代表的是 1970-01-01T00:00:01 就是间隔的1秒,模糊掉个位,那就是说时间戳数据有0-9秒误差, 为什么要这样做?
时间数据采用有符号位可能会导致极限是变成负数,无符号位虽然推迟了1被极限时间,但是会归0
为了防止Y2038问题,加大数据存储空间位数?还是另有目的?
大家有兴趣一起探讨吧(QQ:1073809439)