当前位置: 首页 > 知识库问答 >
问题:

使用Java的日期差异[重复]

叶晋
2023-03-14

我的发票上有两个日期,

什么是得到这些日期之间的区别的最佳方法

提前道谢!

共有1个答案

龙高歌
2023-03-14

假设我的注释中的假设成立,并且您有如下字符串

String billPeriodStart   = "6 Nov 2019";
String billPeriodEnd     = "3 Feb 2020";
String changePeriodStart = "22 Jan 2020";
String changePeriodEnd   = "3 Feb 2020";

类似这样的方法可能会起作用(未经测试):

SimpleDateFormat dateFormat = new SimpleDateFormat("dd MMM yyyy");
Date billPeriodStartDate = dateFormat.parse(billPeriodStart);
// same for the other values

Calendar cal = Calendar.getInstance();

cal.setDate(changePeriodStartDate);
cal.add(Calendar.DAY, -1);
Date dateBeforeChangePeriod = cal.getTime();

cal.setDate(changePeriodEndDate);
cal.add(Calendar.DAY, 1);
Date dateAfterChangePeriod = cal.getTime();

boolean hasDaysBeforeChangePeriod = !dateBeforeChangePeriod.before(billPeriodStartDate);
boolean hasDaysAfterChangePeriod  = !dateAfterChangePeriod.after(billPeriodEndDate);

if (hasDaysBeforeChangePeriod) {
  // print billPeriodStartDate to dateBeforeChangePeriod 
}
if (hasDaysAfterChangePeriod) {
  // print dateAfterChangePeriod to billPeriodEndDate
}
if (!hasDaysBeforeChangePeriod && !hasDaysAfterChangePeriod) {
  // print "none"
}
 类似资料:
  • 目前我正在尝试将日期计算从javascript转换为java,因为我想将它用于Android开发。所以在javascript中,我使用了方法,它将日期转换为自1970年1月1日以来经过的毫秒。在java中,具有相同功能的方法称为。在java和javascript留档中,描述完全相同,但当我插入相同的日期时,我得到了两个完全不同的值。例如: Java代码 Javascript 所以我的问题是: 为什

  • 问题内容: 我正在使用以下代码获取当前日期(格式为12/31/1999,即mm / dd / yyyy): 我还有另一个日期格式为:2019-08-25(即yyyy / mm / dd), 所以我想找出日期之间的天数差异,如何找到天数上的差异? (换句话说,我想找到当前日期-yyyy / mm / dd格式化日期之间的差异) 问题答案: 并不是真正可靠的方法,最好使用JodaTime 这是一个近似

  • 我正试图在过期日期前三天,但我不知道如何发送? 思维方式 检索剩余三天到期的所有订阅者 发送电子邮件给他们的用户 代码 表我需要检查名为 这个表有一个名为的列,我需要检查它以找到

  • 问题内容: 我有一个PostgreSQL函数来计算日期差: 如果直接减去日期,则会计算出差额。但是在我的情况下,日期在变量as和中存在,这导致了问题。 如何减去变量中包含的日期? 问题答案: 除错 你的函数是做可以做 很多 简单。语法错误的实际原因在这里: 看来您正在尝试转换为,这是毫无意义的,因为您的参数已声明为已经。 这也行不通。我在这里引用手册: 为避免语法歧义,“字符串”类型的语法只能用于

  • 我需要得到以下两个日期之间的差异。两个日期都是字符串格式。

  • 我正在尝试使用QueryDSL计算用户年龄和日期差。 但失败时出现此错误 谢谢