使用java导航到下一页或上一页的日期-月份差异
我必须写一个通用代码,它应该给两个日期之间的月差
例如,我的输入数据将是
1. date1 = 22/01/2016
date2 = 30/03/2016
2. date1 = 22/01/2016
date2 = 20/12/2015
根据月份差异,我必须向前移动(如果date2是未来日期到日期1)或向后移动(如果date2是过去日期到日期1),这是很多次
你可以在下面搜索框中键入要查询的问题!
我必须写一个通用代码,它应该给两个日期之间的月差
例如,我的输入数据将是
1. date1 = 22/01/2016
date2 = 30/03/2016
2. date1 = 22/01/2016
date2 = 20/12/2015
根据月份差异,我必须向前移动(如果date2是未来日期到日期1)或向后移动(如果date2是过去日期到日期1),这是很多次
# 1 楼答案
数学。您可以确保31天和28天的月份返回正确的值 将数据和数据2替换为您自己的值
# 2 楼答案
tl;博士
细节
你的问题不清楚,但这可能会帮助你找到正确的方向
避免麻烦的旧日期时间类,例如
Date
,这些类现在是遗留的,被java所取代。时间课LocalDate
^{} 类表示一个只包含日期的值,不包含一天中的时间和时区
日期1=22/01/2016 日期2=30/03/2016
Period
计算经过的天数、月数和年数作为
Period
测试是否在开始之前停止,这意味着经过的时间是负的,沿时间线向后
月份
你的评论提到了几个月。了解计算月份的多种方法:
Java至少提供了其中的一些。阅读文档以确定哪些满足您的需要。如果时间倒流,结果是负数
ChronoUnit.MONTHS
Period.toTotalMonths
关于java。时间
java.time框架内置于Java8和更高版本中。这些类取代了麻烦的旧legacy日期时间类,如^{} 、^{} 、&^{}
现在位于maintenance mode的Joda-Time项目建议迁移到java.time类
要了解更多信息,请参阅Oracle Tutorial。并搜索堆栈溢出以获得许多示例和解释。规范是JSR 310
在哪里可以获得java。时间课
ThreeTen-Extra项目扩展了java。额外上课的时间。这个项目是将来可能添加到java的一个试验场。时间您可以在这里找到一些有用的类,例如^{} 、^{} 、^{} 和more
# 3 楼答案
您可以简单地比较这两个日期here
根据结果,您只需调用与您自己单击按钮相同的代码(只需调用相应的方法(如果您不使用该方法,我建议您这样做))
乌鸦你好
编辑:
两个日期之间的差异可通过like this计算得出