public static final long MONTH_IN_MILLIS = 30*24*60*60*1000; 一看就明白这个是定义一月大概的微妙数.
当我在计算两个月之间大概的月的个数时, 总是发现他返回一个负数, 奇怪, 后面调试发现 MONTH_IN_MILLIS = -1702967296. 呵呵, 原来overflow了.
public static final long MONTH_IN_MILLIS = (30l)*24*60*60*1000;改成这样就ok了.
当我在计算两个月之间大概的月的个数时, 总是发现他返回一个负数, 奇怪, 后面调试发现 MONTH_IN_MILLIS = -1702967296. 呵呵, 原来overflow了.
public static final long MONTH_IN_MILLIS = (30l)*24*60*60*1000;改成这样就ok了.