由于您重复使用相同的 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());
}