Задача

Как отображать дату в разных форматах в Java?

Решение

В этом примере названия дней недели отображаются в краткой форме с помощью метода DateFormatSymbols().getWeekdays() класса DateFormatSymbols.

import java.text.*;
import java.util.*;

public class Main {
   public static void main(String[] args) {
      Date dt = new Date(1000000000000L);
      DateFormat[] dtformat = new DateFormat[6];
      
      dtformat[0] = DateFormat.getInstance();
      dtformat[1] = DateFormat.getDateInstance();
      dtformat[2] = DateFormat.getDateInstance(DateFormat.MEDIUM);
      dtformat[3] = DateFormat.getDateInstance(DateFormat.FULL);
      dtformat[4] = DateFormat.getDateInstance(DateFormat.LONG);
      dtformat[5] = DateFormat.getDateInstance(DateFormat.SHORT);
      
      for(DateFormat dateform : dtformat) System.out.println(dateform.format(dt));
   }
}

Результат

Вышеприведенный пример кода даст следующий результат:

9/9/01 7:16 AM
Sep 9, 2001
Sep 9, 2001
Sunday, September 9, 2001
September 9, 2001
9/9/01

Ниже приведен еще один пример даты в другом формате.

import java.text.ParseException;
import java.text.SimpleDateFormat;
import java.util.Date;
import java.util.Locale;

public class SimpleDateFormatExample {
   public static void main(String[] args) {
      Date curDate = new Date();
      SimpleDateFormat format = new SimpleDateFormat("yyyy/MM/dd");
      
      String DateToStr = format.format(curDate);
      System.out.println(DateToStr);
      
      format = new SimpleDateFormat("dd-M-yyyy hh:mm:ss");
      DateToStr = format.format(curDate);
      System.out.println(DateToStr);
      
      format = new SimpleDateFormat("dd MMMM yyyy zzzz", Locale.ENGLISH);
      DateToStr = format.format(curDate);
      System.out.println(DateToStr);
      
      format = new SimpleDateFormat("E, dd MMM yyyy HH:mm:ss z");
      DateToStr = format.format(curDate);
      System.out.println(DateToStr);
      
      try {
         Date strToDate = format.parse(DateToStr);
         System.out.println(strToDate);
      } catch (ParseException e) {
         e.printStackTrace();
      } 
   } 
}

Результат

Вышеприведенный пример кода даст следующий результат:

2016/11/11
11-11-2016 07:12:27
11 November 2016 Coordinated Universal Time
Fri, 11 Nov 2016 07:12:27 UTC
Fri Nov 11 07:12:27 UTC 2016

Оглавление