32

私が取り組んでいるJavaコードの少しの助けを探して、私は日付と時刻を出力する次のコードを持っています:

  Date dNow = new Date( ); // Instantiate a Date object
  SimpleDateFormat ft = new SimpleDateFormat ("MMM d, yyyy k:mm:ss");  // Time at server

結果:2013年3月15日10:19:48

この数値と5分からのカウントダウンで機能するJavaScriptカウンターを作成しています。したがって、Javaの現在の日時に5分を追加する必要があります。

したがって、現在の日時が次の場合:2013年3月15日10:19:48

印刷するためにJavaに5分を追加する必要があります:2013年3月15日10:24:48

何か案は?

4

8 に答える 8

58

で始める代わりに

new Date()

皮切りに

new Date(System.currentTimeMillis() + TimeUnit.MINUTES.toMillis(5))

これによりDate、必要な時点を表すインスタンスが提供されます。コードの他の部分を変更する必要はありません。

于 2013-03-15T10:30:23.870 に答える
20

質問を無視しDatesて集中します。

私の好みはjava.util.concurrent.TimeUnit、コードを明確にするために使用することです。

Javaでは、

long now = System.currentTimeMillis();

now使用から5分TimeUtilは:

long nowPlus5Minutes = now + TimeUnit.MINUTES.toMillis(5);

参照:http ://docs.oracle.com/javase/7/docs/api/java/util/concurrent/TimeUnit.html

于 2015-01-30T20:42:15.597 に答える
16

日付と時刻を操作するには、 Calendarクラスを使用する必要があります。

Calendarクラスは、特定の瞬間とYEAR、MONTH、DAY_OF_MONTH、HOURなどの一連のカレンダーフィールドを変換したり、日付の取得などのカレンダーフィールドを操作したりするためのメソッドを提供する抽象クラスです。来週の

  Date dNow = new Date( ); // Instantiate a Date object
  Calendar cal = Calendar.getInstance();
  cal.setTime(dNow);
  cal.add(Calendar.MINUTE, 5);
  dNow = cal.getTime();
于 2013-03-15T10:30:28.433 に答える
7
于 2017-01-23T06:39:20.103 に答える
5

これを使って ...

    Calendar calendar = Calendar.getInstance();
    System.out.println(calendar.getTime());
    calendar.add(Calendar.MINUTE, 5);
    System.out.println(calendar.getTime());
于 2013-03-15T10:28:29.280 に答える
2
Date dNow = new Date(System.currentTimeMillis()+5*60*1000)
SimpleDateFormat ft = new SimpleDateFormat ("MMM d, yyyy k:mm:ss");
System.out.println(ft.format(dNow));

非推奨のメソッドの助けを借りてgetMinutes(),setMinutes(int)

 Date dNow = new Date( ); // Instantiate a Date object
 int mm = dNow.getMinutes();
 dNow.setMinutes(mm+5);
于 2013-03-15T10:38:05.240 に答える
0

Javaの日付は、ミリ秒単位のUnix時間を使用します。したがって、5分をミリ秒単位で計算して日付に追加するか、Calendarクラスを使用してそれを実行します。

于 2013-03-15T10:30:52.247 に答える
0

この1つの最高のパフォーマンスを試すことができます

    GregorianCalendar gc = new GregorianCalendar();
            gc.setTimeInMillis(System.currentTimeMillis());
            gc.add(Calendar.MINUTE, -5);
            System.out.println(new java.util.Date().getTime());
            System.out.println(new java.util.Date(gc.getTime().getTime()).getTime());
于 2018-03-02T05:35:48.967 に答える