0

私は現在、特にプロジェクトがスケジュールより早く実行されているか、割り当てられた時間を超えて実行されているかを確認するプロジェクトを行っています。

プロジェクトの開始日 (yyyy-MM-dd) とプロジェクトの継続月数をデータベースから取得します。を使用して今日の日付も取得します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();
4

1 に答える 1

0

だから、何かの線に沿って...

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!!
}

ノート。時間も考慮して...

時間が計算の要因でない場合は、要件に応じて、1日の始まりまたは1日の終わりに移動する傾向があります...

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!!
    }

}
于 2013-02-11T04:09:23.990 に答える