如何使用 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