1

私はちょうどこの方法に出くわしました

public static Date getNowDate() {
    final Calendar cal = new GregorianCalendar();
    cal.setTime(new Date());
    return cal.getTime();
}

次のように呼び出されます。

getNowDate().getTime()

これはただ電話するのと何か違うのですか

System.currentTimeMillis()

?

4

3 に答える 3

3

long (ミリ秒) の結果の戻り値に関して違いはありません

現在の日付が必要な場合、より簡単な方法は、getNowDate()次のように単純化できるカレンダーで日付を設定し、それを取得することです

public static Date getNowDate() {
  return new Date();
}
于 2012-08-14T09:04:47.817 に答える
2

パフォーマンス以外はすべて同じです。

System.currentTimeMillis() はシステム コールなので、約 0.1 ~ 0.3 マイクロ秒かかります (OS によって異なります)。

new Date() もオブジェクトを作成します。これには約 0.1 ~ 0.3 マイクロ秒しかかかりませが、ゴミが少し発生します。

Calendar.getInstance() は高価なオブジェクトのセットを作成し、さらに約33マイクロ秒かかります

于 2012-08-14T09:36:33.550 に答える
0

どちらも1970年1月1日から日付までの長い値を返すため、結果の形でこれら2つに違いはないと思います。

単に呼び出すだけでも現在の日付が表示され、呼び出すとその長い表現がDate d = new Date();返されますd.getTime();

于 2012-08-14T09:30:34.003 に答える