基于Java中预定的日期和持续时间检查项目的时间状态
我目前正在做一个项目,其中包括检查一个项目是否提前或超过了分配的时间 我从数据库中检索项目的开始日期(yyyy-MM-dd)和项目应持续的月数。我还使用基于Java中预定的日期和持续时间检查项目的时间状态,java,date,compare,Java,Date,Compare,我目前正在做一个项目,其中包括检查一个项目是否提前或超过了分配的时间 我从数据库中检索项目的开始日期(yyyy-MM-dd)和项目应持续的月数。我还使用Calendar.getInstance()检索今天的日期 我需要的是检查今天的日期是否在计划时间内 任何帮助都将不胜感激 在不让你厌烦所有其他无关代码的情况下,下面是我正在研究的部分 DateFormat dateFormat = new SimpleDateFormat("yyyy-MM-dd"); Calendar cal = Calend
Calendar.getInstance()
检索今天的日期
我需要的是检查今天的日期是否在计划时间内
任何帮助都将不胜感激
在不让你厌烦所有其他无关代码的情况下,下面是我正在研究的部分
DateFormat dateFormat = new SimpleDateFormat("yyyy-MM-dd");
Calendar cal = Calendar.getInstance();
String today = dateFormat.format(cal.getTime());
String startdate = project.getStart();
String duration = project.getDur();
因此,一些类似于
Calendar cal = Calendar.getInstance();
cal.setTime(startDate);
cal.add(Calendar.MONTH, duration);
Date endDate = cal.getTime();
Date today = new Date();
// You also want to check for today.equals(endDate)
if (today.before(endDate)) {
// All is good...
} else {
// PANIC NOW!!
}
注意。这也考虑到了时间
如果时间不是你计算的一个因素,我倾向于把它移到一天的开始或结束,这取决于你的要求是什么
public static Date toEndOfDay(Date date) {
Calendar cal = Calendar.getInstance();
cal.setTime(date);
// Move the time to end of the day...
cal.set(Calendar.HOUR_OF_DAY, 23);
cal.set(Calendar.MINUTE, 59);
cal.set(Calendar.MILLISECOND, 999);
return cal.getTime();
}
public static void main(String[] args) {
Calendar cal = Calendar.getInstance();
cal.setTime(startDate);
cal.add(Calendar.MONTH, duration);
Date endDate = toEndOfDay(cal.getTime());
Date today = toEndOfDay(new Date());
// You also want to check for today.equals(endDate)
if (today.before(endDate)) {
// All is good...
} else {
// PANIC NOW!!
}
}
非常感谢,它很有魅力。我不太熟悉日历API和类似的东西,所以我非常感谢您的专业知识。