使用Java日历减去日期

使用Java日历减去日期,java,date,calendar,date-arithmetic,Java,Date,Calendar,Date Arithmetic,我有两个日历对象用于当前日期和生日。 我需要从当前日期中减去生日,然后返回以年为单位的差值(我只需要一个截断的整数) 最简单的方法是什么?你可以得到历元时间(从1900年1月1日起为毫秒),减去这两个值,然后除以1000(毫秒)/60(秒)/60(分钟)/24(小时)/365(天)。 由于忽略闰年,这将给出近似结果(以年为单位) 要获取纪元时间,请使用Date#getTime() 只要减去两年。。。很简单。查看calendar类提示:从JDK版本1.1开始,由calendar.get(calen

我有两个日历对象用于当前日期和生日。 我需要从当前日期中减去生日,然后返回以年为单位的差值(我只需要一个截断的整数)

最简单的方法是什么?

你可以得到历元时间(从1900年1月1日起为毫秒),减去这两个值,然后除以
1000(毫秒)/60(秒)/60(分钟)/24(小时)/365(天)
。 由于忽略闰年,这将给出近似结果(以年为单位)


要获取纪元时间,请使用
Date#getTime()

只要减去两年。。。很简单。查看calendar类
提示:从JDK版本1.1开始,由calendar.get(calendar.YEAR)-1900取代,但以您的示例为例,我只从年份中减去,而不是从整个日期中减去。您说过需要以年为单位的差值…@3kings,啊,我的意思是结果将在几年内。@MartinRand请在发布前搜索堆栈溢出。几乎所有基本的日期时间问题都已经被问到和回答了。这种方法忽略的不仅仅是闰年。它将忽略夏令时和时区定义中捕获的所有其他异常。EPOCH不是UTC吗?。