Генерация текущей даты в Java - PullRequest
11 голосов
/ 19 сентября 2008

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

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

Ответы [ 5 ]

27 голосов
/ 19 сентября 2008

Используя стандартный 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");
8 голосов
/ 19 сентября 2008
Date d = new Date();
String formatted = new SimpleDateFormat ("yyyy-MM-dd:HH-mm-ss").format (d);
System.out.println (formatted);
1 голос
/ 19 сентября 2008

Там также

long timestamp = System.currentTimeMillis() 

Это то, что new Date() (@ Джон Милликин ) использует для внутреннего использования. Если у вас есть это, вы можете отформатировать его так, как вам нравится.

0 голосов
/ 19 сентября 2008
final DateFormat formatter = new SimpleDateFormat("yyyy-MM-dd:hh-mm-ss");

formatter.format(new Date());

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

0 голосов
/ 19 сентября 2008

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

...