Change Gregorian Calendar to SimpleDateFormat in Java

2025年5月5日 | 阅读 3 分钟

Java 中的数据处理和格式化可以通过 SimpleDateFormat 和 Gregorian Calendar 等类来完成。Gregorian Calendar 类是 Java.util 包的组成部分,其中包含日期和时间字段操作方法。然而,由于它需要生成日历实例并修改各个日期字段,因此对于简单的日期格式化来说,其使用通常被认为很复杂。另一方面,SimpleDateFormat (来自 java.text) 由于其多功能性和易用性,常用于日期格式化和解析。

在许多数据格式化场景中,SimpleDateFormat 比 GregorianCalendar 更具价值且可读性更高,因为它对于需要一致日期格式而无需大量日期字段操作的应用程序非常有效。

现在,我们的任务是将给定的 GregorianCalendar 格式的日期转换为 SimpleDateFormat。

示例 1

输入

输出

The SimpleDateFormat is given by 28-Apr-2018

解释

使用 dd-MMM-yyyy 模式将 GregorianCalendar 输入日期转换为 SimpleDateFormat,该模式将日期格式化为显示日、缩写月份和年份。

示例 2

输入

输出

 
The SimpleDateFormat is given by 01/11/2023

解释

使用 dd/MM/yyyy 模式格式化 GregorianCalendar 日期后,输出为数字日/月/年格式。

示例 3

输入

输出

 
The SimpleDateFormat is given by 15-Dec-2022 

解释

使用 SimpleDateFormat 和 dd-MMM-yyyy HH:mm 模式,日期包含日、短月份、年份和 24 小时制的时间(不含秒)。

方法:朴素

该代码使用 SimpleDateFormat 将 GregorianCalendar 日期格式化为字符串。在 convertSimpleFormatDate 中,使用“dd-MMM-yyyy”模式实例化一个 SimpleDateFormat 对象,该模式代表所需的日期格式。一旦使用 getTime() 获取了 GregorianCalendar 日期,format() 方法就会将其转换为指定的格式。

算法

步骤 1:确定 Gregorian 日期的转换。

步骤 2:创建一个 SimpleDateFormat 对象来保存转换后的日期。

步骤 3:现在,使用 format() 方法将 Gregorian 日期转换为 SimpleDateFormat。

步骤 4:在此 format 方法中,仅将 Gregorian 日期的日期部分作为参数。因此,通过 getTime() 方法将所需的日期提供给 format() 方法。

实施

输出

The Gregorian date is given by: Sun Jan 15 16:35:42 GMT 2023
The SimpleDateFormat is given by : 15-Jan-2023