Java 比较日期并在比较中为日期添加天数

Java 比较日期并在比较中为日期添加天数,java,date,Java,Date,我在这里完全不懂。我有这个伪代码,我想用Java编写,但不知道从哪里开始。以下是我想表达的逻辑。任何建议都将不胜感激 if(bestBeforeDate <= today() + 2days) // if a product is two days before its best before date toShipOut = false; else if (bestBeforeDate >= today >= bbDate- 8 days) // from 8 days be

我在这里完全不懂。我有这个伪代码,我想用Java编写,但不知道从哪里开始。以下是我想表达的逻辑。任何建议都将不胜感激

if(bestBeforeDate <= today() + 2days) // if a product is two days before its best before date
toShipOut = false;
else if (bestBeforeDate >= today >= bbDate- 8 days) // from 8 days before best before day
DiscountedPrice();
else
toShipOut = true;
if(bestBeforeDate=today>=bbDate-8天)//从日期前8天开始
折扣价格();
其他的
toShipOut=true;
退房

注意构造函数
日期(整数年、整数月、整数日期)

还要注意布尔方法
after(Date-when)

你应该能在那里找到你需要的一切

现在通常是首选日期,但它是相同的概念。
gregorianalendar(整数年、整数月、整数月日)

public int compareTo(日历与其他日历)
签出

注意构造函数
日期(整数年、整数月、整数日期)

还要注意布尔方法
after(Date-when)

你应该能在那里找到你需要的一切

现在通常是首选日期,但它是相同的概念。
gregorianalendar(整数年、整数月、整数月日)

public int compareTo(日历与其他日历)
签出

注意构造函数
日期(整数年、整数月、整数日期)

还要注意布尔方法
after(Date-when)

你应该能在那里找到你需要的一切

现在通常是首选日期,但它是相同的概念。
gregorianalendar(整数年、整数月、整数月日)

public int compareTo(日历与其他日历)
签出

注意构造函数
日期(整数年、整数月、整数日期)

还要注意布尔方法
after(Date-when)

你应该能在那里找到你需要的一切

现在通常是首选日期,但它是相同的概念。
gregorianalendar(整数年、整数月、整数月日)

public int compareTo(另一个日历)

使用Calendar.add()添加天数。您需要为每个添加设置一个临时日历

Calendar c = Calendar.getInstance();
c.setTime(new Date()); // Current date
c.add(Calendar.DATE, 2); // Adding 2 days
使用Calendar.add()添加天数。您需要为每个添加设置一个临时日历

Calendar c = Calendar.getInstance();
c.setTime(new Date()); // Current date
c.add(Calendar.DATE, 2); // Adding 2 days
使用Calendar.add()添加天数。您需要为每个添加设置一个临时日历

Calendar c = Calendar.getInstance();
c.setTime(new Date()); // Current date
c.add(Calendar.DATE, 2); // Adding 2 days
使用Calendar.add()添加天数。您需要为每个添加设置一个临时日历

Calendar c = Calendar.getInstance();
c.setTime(new Date()); // Current date
c.add(Calendar.DATE, 2); // Adding 2 days
注意日期/日历类 警告:与java捆绑的java.util.Date/Calendar类是出了名的糟糕。相反,可以使用第三方库,或者在Java8中使用新特性(受Joda Time的启发)

考虑 考虑时间和日期。和时区。通常,最好存储时间并使用时间(无时区偏移),然后转换为分区日期时间,以便向用户演示

示例代码 我不保证这个源代码示例在逻辑上是一致的,但它将使您朝着正确的方向前进。Joda Time 2.3在Mac上的Java 7上

伪代码中的布尔逻辑有缺陷,所以我忽略了这一方面。我把注意力集中在日期和时间的角度上

/©2013巴西尔布尔克。此源代码可以由任何对此承担全部责任的人自由使用。
//导入org.joda.time.*;
DateTimeZone denverTimeZone=DateTimeZone.forID(“美国/丹佛”);
//在现实世界中,从存储中获取“bestBeforeDate”。存储在UTC中。
//调用“withTimeAtStartOfDay”方法,而不是尝试设置午夜。并非每个时区的每一天都有午夜。
//对于这个例子,我们将硬编码bestBeforeDate到11月1日在丹佛的第一个时刻。然后转换为UTC。
DateTime bestBeforeDate=新的日期时间(2013年,DateTimeConstants.11月1日、3日、3日、denverTimeZone)。使用TimeAtStartOfDay().toDateTime(DateTimeZone.UTC);
DateTime now=new DateTime().toDateTime(DateTimeZone.UTC);
DateTime twoDaysFromNow=now.plusDays(2);
if(bestBeforeDate.isBefore(从现在起两天)){
//做点什么
}否则{
//做点别的。
}
System.out.println(“bestBeforeDate:+bestBeforeDate”);
System.out.println(“now:+now”);
System.out.println(“twoDaysFromNow:+twoDaysFromNow”);
当运行时

bestBeforeDate:2013-11-01T06:00:00.000Z
现在:2013-12-03T04:54:55.405Z
从现在起两天:2013-12-05T04:54:55.405Z
小心日期/日历类 警告:与java捆绑的java.util.Date/Calendar类是出了名的糟糕。相反,可以使用第三方库,或者在Java8中使用新特性(受Joda Time的启发)

考虑 考虑时间和日期。和时区。通常,最好存储时间并使用时间(无时区偏移),然后转换为分区日期时间,以便向用户演示

示例代码 我不保证这个源代码示例在逻辑上是一致的,但它将使您朝着正确的方向前进。Joda Time 2.3在Mac上的Java 7上

伪代码中的布尔逻辑有缺陷,所以我忽略了这一方面。我把注意力集中在日期和时间的角度上

/©2013巴西尔布尔克。此源代码可以由任何对此承担全部责任的人自由使用。
//导入org.joda.time.*;
DateTimeZone denverTimeZone=DateTimeZone.forID(“美国/丹佛”);
//在现实世界中,从存储中获取“bestBeforeDate”。存储在UTC中。
//调用“withTimeAtStartOfDay”方法,而不是尝试设置午夜。并非每个时区的每一天都有午夜。
//对于这个例子,我们将硬编码bestBeforeDate到11月1日在丹佛的第一个时刻。然后转换为UTC。
DateTime bestBeforeDate=新的日期时间(2013年,DateTimeConstants.11月1日、3日、3日、denverTimeZone)。使用TimeAtStartOfDay().toDateTime(DateTimeZone.UTC);
DateTime now=new DateTime().toDateTime(DateTimeZone.UTC);
DateTime twoDaysFromNow=now.plusDays(2);
如果(在之前)