Сгенерировать текущую дату в Java

Каков наилучший способ создания текущей даты в Java?

YYYY-MM-DD: чч-мм-сс

Ответ 1

Используя стандартный JDK, вы захотите использовать java.text.SimpleDateFormat

Date myDate = new Date();
SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd:HH-mm-ss");
String myDateString = sdf.format(myDate);

Однако, если у вас есть возможность использовать пакет Apache Commons Lang, вы можете использовать org.apache.commons.lang.time.FastDateFormat

Date myDate = new Date();
FastDateFormat fdf = FastDateFormat.getInstance("yyyy-MM-dd:HH-mm-ss");
String myDateString = fdf.format(myDate);

FastDateFormat имеет преимущество потокобезопасности, поэтому вы можете использовать один экземпляр во всем приложении. Это строго для дат форматирования и не поддерживает синтаксический анализ, как SimpleDateFormat, в следующем примере:

SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd:HH-mm-ss");
Date yourDate = sdf.parse("2008-09-18:22-03-15");

Ответ 2

Date d = new Date();
String formatted = new SimpleDateFormat ("yyyy-MM-dd:HH-mm-ss").format (d);
System.out.println (formatted);

Ответ 3

Там также

long timestamp = System.currentTimeMillis() 

что является тем, что new Date() (@John Millikin) использует внутренне. После этого вы можете отформатировать его, как вам нравится.

Ответ 4

SimpleDateFormatter - это то, что вы хотите.

Ответ 5

Я думаю, что вам нужно быть немного более ясным в своем вопросе. В частности, какой тип данных вы хотите в конце процесса? Строка?

Ответ 6

final DateFormat formatter = new SimpleDateFormat("yyyy-MM-dd:hh-mm-ss");

formatter.format(new Date());

JavaDoc для SimpleDateFormat содержит информацию о строках шаблонов даты и времени.