如何使用 Java 以不同格式显示日期

在本教程中,我们将使用 Java 中的 DateFormat 和 SimpleDateFormat 类 以各种格式显示日期。这些类提供多种格式选项,以不同样式显示日期,例如短、中、长和自定义格式。

使用 DateFormat 以不同格式显示日期

DateFormat 类: DateFormat 类 用于格式化和解析日期。它提供几种预定义的日期格式,例如短、中、长和全。

使用指定时间创建 Date 对象 (dt)。使用不同的格式样式(短、中、长、全)创建各种 DateFormat 实例。然后将这些格式应用于日期,并以每种格式打印结果。

步骤

1. 创建 Date 对象: 使用特定时间戳初始化 Date 对象。

Date dt = new Date(1000000000000L);

2. 创建 DateFormat 对象数组: 声明一个数组来存储不同的 DateFormat 对象。

DateFormat[] dtformat = new DateFormat[6];

3.为 DateFormat 对象分配不同的格式样式: 为 DateFormat 对象分配各种格式样式(默认、中等、完整、长、短)。

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);

示例

以下示例借助 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

使用 SimpleDateFormat 以自定义格式显示日期

SimpleDateFormat 对象用于将当前日期 (curDate) 格式化为不同的自定义格式。format() 方法使用不同的日期模式调用,包括自定义模式,如"yyyy/MM/dd"、"dd-M-yyyy hh:mm:ss"和"dd MMMM yyyy zzzz"。格式化后,日期将以每种格式打印。

示例

以下是另一种格式的日期示例 -

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();
      } 
   } 
}

输出

2024/12/09
09-12-2024 07:50:04
09 December 2024 Greenwich Mean Time
Mon, 09 Dec 2024 07:50:04 GMT
Mon Dec 09 07:50:04 GMT 2024
java_date_time.html