2

我有两个 java.sql.Date 对象,我需要计算两者之间的月数。这应该考虑月份的百分比。例如 10/1/2012 到 11/15/2012 应该返回 1.5 个月。是否有可用的图书馆可以为我做到这一点?有什么建议吗?

4

2 回答 2

3

这类似于另一个计算两个日期之间天数的问题。使用天数,您可以除以每月的平均天数,以表示已经过去了多少个月。Joda Time 之类的东西可以提供这些信息。

回复: http: //joda-time.sourceforge.net/ 回复:Java 中两个日期之间的天数差异?

于 2012-10-19T19:26:18.783 回答
1

我会转换为 java.util.Date 然后进行计算

像这样的东西:

private final static double AVERAGE_MILLIS_PER_MONTH = 365.24 * 24 * 60 * 60 * 1000 / 12;

public static double monthsBetween(Date d1, Date d2) {
    return (d2.getTime() - d1.getTime()) / AVERAGE_MILLIS_PER_MONTH; 
}
于 2012-10-19T19:24:04.470 回答