2

私は24時間形式の「14:00:00」の時間を持っています。この日付については、現在の時刻が 14:00:00 未満の場合は今日の日付、そうでない場合は翌日の日付のような日付を生成したいと考えています。

したがって、現在の日時が「30-10-2012 13:00:00」の場合、「14:00:00」の場合、現在の日時が「30-10-2012 15:00: 2012 年 10 月 31 日

今日の日付を与えるこの方法を試しました

public static String GetTodayDateTimeStamp(String time)
{
    String toReturn = "";

    DateFormat dateFormat = new SimpleDateFormat("yyyy-MM-dd");
    Date date = new Date();
    String toDayDate = dateFormat.format(date);

    toReturn = toDayDate + " " + time;

    return toReturn;
}
4

2 に答える 2

2

新しいDateオブジェクトを作成すると、現在の時間がそれに割り当てられます。これらのオブジェクトを 2 つ作成し、Calendarインスタンスを使用して時間を 14 に設定し、分、秒 (および必要に応じてミリ秒) を 0 に設定すると、比較する必要がある 2 つの日付が得られます。

Date now = new Date();
Date today14pm = new Date();
Calendar calendar = Calendar.getInstance();
calendar.setTime(today14PM);
calendar.set(Calendar.HOUR_OF_DAY, 14);
calendar.set(Calendar.MINUTES, 0);
calendar.set(Calendar.SECONDS, 0);
calendar.set(Calendar.MILLISECONDS, 0);
today14pm = Calendar.getTime();

if(now.after(today14pm)) {
    //Generate tomorrow's date    
} else {
    //Generate today's date
}

lenientのため、カレンダーの属性を true に設定することをお勧めします。

于 2012-10-30T12:56:24.383 に答える
0

現在の日付に 10 時間を追加して、年、月、日の部分を取得できます。

編集:より一般的な答え。

  1. 時間の部分を取得し、それに 1 秒を追加します。「ト」とする。

  2. 次に、現在の日付からそれを引き、結果に 1 日を追加します。「ド」とする。

  3. 次に、「d」の年、月、日の部分を取得します。

たとえば、時間を 14:00:00 ではなく 10:00:00 にします。したがって、「今日 10:00:01」からそれを引くと、「今日 00:00:01」になります。それに 1 日 (または 24 時間) を加えると、「明日 00:00:01」になります。

于 2012-10-30T12:45:57.203 に答える