Java 示例 - 以不同格式显示日期

  • 问题描述

    如何以不同的格式显示日期?
  • 解决方案

    此示例借助 DateFormatSymbols 类的 DateFormatSymbols().getWeekdays() 方法以简短形式显示工作日的名称。
    
    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