2013-10-06 2 views
2

Я хотел бы спросить об использовании java.util.Date. Вот мой класс образецВозможно ли получить объект java.util.Date с определенным форматом?

  public class DateConverter { 
      public static void main(String[] args) { 
        SimpleDateFormat simpleDateFormat = new SimpleDateFormat("dd/MM/yyyy"); 
        Date today = new Date(); 
        String dateAsString_format = simpleDateFormat.format(today); 
        System.out.println("Formatted Date String (String datatype): " + dateAsString_format); 
        Date parsedDate = null; 
        try { 
         parsedDate = simpleDateFormat.parse(dateAsString_format); 
        } catch (ParseException e) { 
         e.printStackTrace(); 
        } 
        System.out.println("Parse Date (Date datatype): " + parsedDate); 
       } 
      } 

Мой выход

  Formatted Date String (String datatype): 06/10/2013 
     Parse Date (Date datatype): Sun Oct 06 00:00:00 MMT 2013 

Но я хотел бы получить следующий вывод

  Formatted Date String (String datatype): 06/10/2013 
     Parse Date (Date datatype): 06/10/2013 

Можно ли получить объект Date с конкретным форматом?

+0

Если вы хотите использовать определенный формат, используйте SimpleDateFormat. Для этого он и есть. Дата имеет только формат платформы по умолчанию, основанный на вашем языке. –

ответ

3

Возможно ли получить объект Date в определенном формате?

Номер Date не имеет никакого формата. Он представляет собой миллисекунды с эпохи. Вы получаете только форматированную строку, используя SimpleDateFormat, которую вы уже сделали.

Печать Date вызывает переопределенный метод Date#toString(), в котором используется формат по умолчанию, в котором печатаются каждые Date.

Вот как Date#toString() источник выглядит следующим образом:

public String toString() { 
    // "EEE MMM dd HH:mm:ss zzz yyyy"; 
    BaseCalendar.Date date = normalize(); 
    StringBuilder sb = new StringBuilder(28); 
    int index = date.getDayOfWeek(); 
    if (index == gcal.SUNDAY) { 
     index = 8; 
    } 
    .... // some more code 
} 

Так формат используется "EEE MMM dd HH:mm:ss zzz yyyy"

4

Да, расширение Date добавления поля формата и переопределить toString метод, что-то вдоль линий

public class DateWithFormat extends Date { 
    String format; // Assign as appropriate 
    public String toString() { 
    return new SimpleDateFormat(format).format(this)); 
    } 
} 
Смежные вопросы