Java 日期格式

2024 年 8 月 29 日 | 阅读 6 分钟

Java 中有两种格式化日期的类:DateFormat 和 SimpleDateFormat。

java.text.DateFormat 类提供了各种方法,以语言无关的方式在 Java 中格式化和解析日期和时间。 DateFormat 类是一个抽象类。 java.text.Format 是父类,而 java.text.SimpleDateFormat 是 java.text.DateFormat 类的子类。

在 Java 中,将日期转换为字符串称为格式化,反之则称为解析。 换句话说,格式化意味着日期到字符串,解析意味着字符串到日期

java.text.DateFormat 字段

java.text.DateFormat 方法

编号。公共方法描述
1)final String format(Date date)将给定的 Date 对象转换为字符串。
2)Date parse(String source)throws ParseException将字符串转换为 Date 对象。
3)static final DateFormat getTimeInstance()返回时间格式化程序,该格式化程序具有默认语言环境的默认格式化样式。
4)static final DateFormat getTimeInstance(int style)返回时间格式化程序,该格式化程序具有默认语言环境的给定格式化样式。
5)static final DateFormat getTimeInstance(int style, Locale locale)返回时间格式化程序,该格式化程序具有给定语言环境的给定格式化样式。
6)static final DateFormat getDateInstance()返回日期格式化程序,该格式化程序具有默认语言环境的默认格式化样式。
7)static final DateFormat getDateInstance(int style)返回日期格式化程序,该格式化程序具有默认语言环境的给定格式化样式。
8)static final DateFormat getDateInstance(int style, Locale locale)返回日期格式化程序,该格式化程序具有给定语言环境的给定格式化样式。
9)static final DateFormat getDateTimeInstance()返回日期/时间格式化程序,该格式化程序具有默认语言环境的默认格式化样式。
10)static final DateFormat getDateTimeInstance(int dateStyle,int timeStyle)返回日期/时间格式化程序,该格式化程序具有默认语言环境的给定日期格式化样式和时间格式化样式。
11)static final DateFormat getDateTimeInstance(int dateStyle, int timeStyle, Locale locale)返回日期/时间格式化程序,该格式化程序具有给定语言环境的给定日期格式化样式和时间格式化样式。
12)static final DateFormat getInstance()返回日期/时间格式化程序,该格式化程序具有日期和时间的简短格式化样式。
13)static Locale[] getAvailableLocales()返回可用语言环境的数组。
14)Calendar getCalendar()返回此 DateFormat 实例的 Calendar 实例。
15)NumberFormat getNumberFormat()返回此 DateFormat 实例的 NumberFormat 实例。
16)TimeZone getTimeZone()返回此 DateFormat 实例的 TimeZone 实例。

Java DateFormat 示例:日期到字符串

让我们来看一个简单的示例,该示例使用 java.text.DateFormat 类在 Java 中格式化日期和时间

文件名: DateFormatExample.java

输出

Current Date: Tue Mar 31 14:37:23 IST 2015
Date Format using getInstance(): 31/3/15 2:37 PM

让我们来看一个完整的示例,该示例使用 java.text.DateFormat 类在 Java 中格式化日期和时间

文件名: DateFormatExample2.java

输出

Current Date: Tue Mar 31 14:37:23 IST 2015
Date Format using getInstance(): 31/3/15 2:37 PM
Date Format using getDateInstance(): 31 Mar, 2015
Date Format using getTimeInstance(): 2:37:23 PM
Date Format using getDateTimeInstance(): 31 Mar, 2015 2:37:23 PM
Date Format using getTimeInstance(DateFormat.SHORT): 2:37 PM
Date Format using getTimeInstance(DateFormat.MEDIUM): 2:37:23 PM
Date Format using getTimeInstance(DateFormat.LONG): 2:37:23 PM IST
Date Format using getDateTimeInstance(DateFormat.LONG,DateFormat.SHORT): 31 March, 2015 2:37 PM

Java DateFormat 示例:字符串到日期

让我们来看一个简单的示例,该示例使用 java.text.DateFormat 类将字符串转换为日期

文件名: DateFormatExample3.java

输出

Date is: Tue Mar 31 00:00:00 IST 2015

Java DateFormat 示例:getTimeInstance(int style, Locale locale)

让我们看一下 getTimeInstance(int style, Locale locale) 方法的工作方式。

文件名: GetTimeInstanceExample.java

输出

13:12

Java DateFormat 示例:getDateInstance(int style)

让我们看一下 getDateInstance(int style) 方法的工作方式。

文件名: GetDateInstanceExample.java

输出

12/2/21

Java DateFormat 示例:getDateInstance(int style, Locale locale)

让我们看一下 getDateInstance(int style, Locale locale) 方法的工作方式。

文件名: GetDateInstanceExample1.java

输出

02/12/2021

Java DateFormat 示例:getDateTimeInstance(int dateStyle, int timeStyle, Locale locale)

让我们看一下 getDateTimeInstance(int dateStyle, int timeStyle, Locale locale) 方法的工作方式。

文件名: GetDateTimeInstanceExample.java

输出

02/12/2021 14:16:34 GMT

Java DateFormat 示例:getCalender()

让我们看一下 getCalender() 方法的工作方式。

文件名: GetCalenderExample.java

输出

java.util.GregorianCalendar[time = -886152493222, areFieldsSet = true, areAllFieldsSet = true, lenient = true, zone = sun.util.calendar.ZoneInfo[id = "GMT", offset=0, dstSavings = 0, useDaylight = false, transitions = 0, lastRule = null], firstDayOfWeek = 1, minimalDaysInFirstWeek = 1,ERA = 1, YEAR = 1941, MONTH = 11, WEEK_OF_YEAR = 49, WEEK_OF_MONTH = 1, DAY_OF_MONTH = 2, DAY_OF_YEAR = 336, DAY_OF_WEEK = 3, DAY_OF_WEEK_IN_MONTH = 1, AM_PM = 1, HOUR = 2, HOUR_OF_DAY = 14, MINUTE = 31, SECOND = 46, MILLISECOND = 778, ZONE_OFFSET = 0, DST_OFFSET = 0]

Java DateFormat 示例:getNumberFormat()

让我们看一下 getNumberFormat() 方法的工作方式。

文件名: GetNumberFormatExample.java

输出

The format is: java.text.DecimalFormat@674dc

下一个主题Java SimpleDateFormat