2010年11月11日

判断两个时间是否属于同一个月的问题

通常来讲,判断两个时间是否属于同一个月,只要判断year相等并且month相等即可,但是这样判断在某些情况下会失败。

前两天就碰到了这个问题,服务器上统计访问量时在判断当前时刻是否属于本月时,就使用了上述逻辑,但是每台服务器的系统时间都不尽相同,导致在同一时刻,两台服务器在做这个判断时得到不同结果。 所造成的结果就是上个月的记录被当前月的统计覆盖。

其实两个系统时间不同的服务器在判断两个时间是否属于某个区间(同天/同月/同年)时,都存在类似问题。 保险起见,应该减弱判断条件:如果系统时间小于等于输入时间,就可以认为相等。