同じ Date オブジェクトを再利用するため、常に同じ時間を取得できます。クラスが解決されると、Date オブジェクトが作成されます。使用するたびに現在の時刻を取得するには:
private static SimpleDateFormat timeFormatter= new SimpleDateFormat("hh:mm:ss a");
public static String getCurrentDate() {
Date date = new Date();
return timeFormatter.format(date);
}
あるいは
public static String getCurrentDate() {
Date date = new Date();
SimpleDateFormat timeFormatter= new SimpleDateFormat("hh:mm:ss a");
return timeFormatter.format(date);
}
SimpleDateFormat はスレッドセーフではないためです。
現在の時刻が必要なだけなので、新しい日付を作成する必要さえありません。
public static String getCurrentDate() {
SimpleDateFormat timeFormatter= new SimpleDateFormat("hh:mm:ss a");
return timeFormatter.format(System.currentTimeMillis());
}
出力だけが必要で、解析する機能が必要ない場合は、使用できます
public static String getCurrentDate() {
return String.format("%1$tr", System.currentTimeMillis());
}