位置:首页 > Java > DateFormat类用法详解与日期格式化指南

DateFormat类用法详解与日期格式化指南

时间:2026-08-18  |  作者:318050  |  阅读:0

DateFormat类的作用

使用Date类时,在程序中打印Date对象所输出的当前时间都是以默认的英文格式输出的。

如果要将Date对象表示的日期以指定的格式输出,例如输出中文格式的时间,就需要用到DateFormat类。

DateFormat类的作用很明确:要么把日期格式化成字符串,要么把按特定格式表示的日期字符串再转换成一个Date对象。

需要注意的是,DateFormat本身是一个抽象类,没法直接实例化。不过,它已经提供了一组静态方法,用来获取DateFormat实例,接着再调用对应的方法完成相关操作。

DateFormat类的常用方法

DateFormat类中提供的常用方法,如表1所示。

表1 DateFormat的常用方法

方法声明 功能描述
static DateFormat getDateInstance() 用于创建默认语言环境和格式化风格的日期格式器
static DateFormat getDateInstance(int style) 用于创建默认语言环境和指定格式化风格的日期格式器
static DateFormat getDateTimeInstance() 用于创建默认语言环境和格式化风格的日期/时间格式器
static DateFormat getDateTimeInstance( int dateStyle,int timeStyle) 用于创建默认语言环境和指定格式化风格的日期/时间格式器
String format(Date date) 将一个 Date 格式化为日期/时间字符串。
Date parse(String source) 将给定字符串解析成一个日期

表1中,列出了DateFormat类的四个静态方法。

这四个静态方法能用于获得DateFormat类的实例对象。每种方法返回的对象都具有不同的作用,它们可以分别对日期或者时间部分进行格式化。

常用格式常量

DateFormat类里还预先定义了不少常量,其中有四个最常用的,专门拿来作为方法参数传入,分别是FULLLONGMEDIUMSHORT

  • FULL:表示完整格式
  • LONG:表示长格式
  • MEDIUM:表示普通格式
  • SHORT:表示短格式

DateFormat类的使用演示

接下来通过一个案例针对DateFormat类的使用进行演示,如文件1所示。

文件1 Example24.ja va

 1    import ja va.text.*;
 2    import ja va.util.*;
 3    public class Example24 {
 4        public static void main(String[] args) {
 5            // 创建Date对象
 6            Date date = new Date();
 7            // Full格式的日期格式器对象
 8            DateFormat fullFormat = 
 9                    DateFormat.getDateInstance(DateFormat.FULL);
 10            // Long格式的日期格式器对象
 11            DateFormat longFormat = 
 12                    DateFormat.getDateInstance(DateFormat.LONG);
 13            // MEDIUM格式的日期/时间 格式器对象
 14            DateFormat mediumFormat = DateFormat.getDateTimeInstance(
 15                    DateFormat.MEDIUM, DateFormat.MEDIUM);
 16            // SHORT格式的日期/时间格式器对象
 17            DateFormat shortFormat = DateFormat.getDateTimeInstance(
 18                    DateFormat.SHORT, DateFormat.SHORT);
 19            // 下面打印格式化后的日期或者日期/时间
 20            System.out.println("当前日期的完整格式为:" 
 21                                + fullFormat.format(date));
 22            System.out.println("当前日期的长格式为:" 
 23                                + longFormat.format(date));
 24            System.out.println("当前日期的普通格式为:" 
 25                                + mediumFormat.format(date));
 26            System.out.println("当前日期的短格式为:" 
 27                                + shortFormat.format(date));
 28        }
 29    }

运行结果如图1所示。

DateFormat类用法详解与日期格式化指南_wishdown.com

图1 运行结果

文件1中,演示了四种格式下时间和日期格式化输出的效果。

其中:调用getDateInstance()方法获得的实例对象用于对日期部分进行格式化,getDateTimeInstance()方法获得的实例对象可以对日期和时间部分进行格式化。

parse(String source)方法

DateFormat中还提供了一个parse(String source)方法,能够将一个字符串解析成Date对象。

但是它要求字符串必须符合日期/时间的格式要求,否则会抛出异常。

接下来通过一个案例来演示parse()方法的使用,如文件2所示。

文件2 Example25.ja va

 1    import ja va.text.*;
 2    public class Example25 {
 3        public static void main(String[] args) throws ParseException {
 4            // 创建DateFormat对象
 5            DateFormat dt1 = DateFormat.getDateInstance();
 6            // 创建Long格式的DateFormat对象
 7            DateFormat dt2 = DateFormat.getDateInstance(DateFormat.LONG);
 8            // 定义两个日期格式的字符串
 9            String str1 = "2018-01-27";
 10            String str2 = "2018年01月27日";
 11            // 输出对应格式的字符串解析成Date对象后的结果
 12            System.out.println(dt1.parse(str1));
 13            System.out.println(dt2.parse(str2));
 14        }
 15    }

运行结果如2所示。

DateFormat类用法详解与日期格式化指南_wishdown.com

图2 运行结果

文件2中,首先创建了一个普通的DateFormat对象,以及LONG格式的DateFormat对象。

然后定义了两种日期格式的字符串,最后在输出语句中调用parse()方法将对应格式的字符串解析成Date对象。

来源:整理自互联网
免责声明:文中图文均来自网络,如有侵权请联系删除,心愿游戏发布此文仅为传递信息,不代表心愿游戏认同其观点或证实其描述。

相关文章

更多

精选合集

更多

大家都在玩

热门话题

大家都在看

更多