浅谈DateFormat类(下)

650 阅读3分钟

「这是我参与11月更文挑战的第14天,活动详情查看:2021最后一次更文挑战

前言

大家好,我是程序猿小白 gw_Gw,很高兴能和大家一起学习进步。

以下内容部分来自于网络,如有侵权,请联系我删除,本文仅用于学习交流,不用作任何商业用途。

摘要

上一篇我们已经基本了解了一些DateFormat类的一些基本使用,本文继续来介绍DateFormat类的其余的方法的使用,和应用场景。

传送门直达:浅谈DateFormat类(上)

来接着上一篇来讲,DateFormat类中还有一些方法需要我们了解。

2.2.3 getDateTimeInstance()方法

getDateTimeInstance()获取日期或时间格式器,有3个重载方法。

static DateFormat getDateTimeInstance()获取具有默认格式化风格和默认语言环境的日期/时间 格式
static DateFormat getDateTimeInstance(int dateStyle,int timeStyle)获取具有指定日期/时间格式化风格和默认语言环境的 日期/时间格式
static DateFormat getDateTimeInstance(int dateStyle,int timeStyle,Locale locale)获取具有指定日期/时间格式化风格和指定语言环境的 日期/时间格式

参数解析:

  • dateStyle,timeStyle:可以为SHORT(2021/11/15),MEDIUM,LONG,FULL,依次表示的日期字符串更长。对应的整型数据依次为3,2,1,0.
  • local:可以为CHINA,JAPAN等等地区。

如果不指定地区就是默认是本地的语言环境下的格式化风格。

实例展示:

 DateFormat dateFormat6 = DateFormat.getDateTimeInstance();
 DateFormat dateFormat7 = DateFormat.getDateTimeInstance(DateFormat.SHORT,DateFormat.SHORT);
 DateFormat dateFormat8 = DateFormat.getDateTimeInstance(DateFormat.MEDIUM,DateFormat.MEDIUM);
 DateFormat dateFormat9 = DateFormat.getDateTimeInstance(DateFormat.LONG,DateFormat.LONG);
 DateFormat dateFormat10 = DateFormat.getDateTimeInstance(DateFormat.FULL,DateFormat.FULL);
 ​
 String format1 = dateFormat6.format(new Date());
 String format222 = dateFormat7.format(new Date());
 String format333 = dateFormat8.format(new Date());
 String format444 = dateFormat9.format(new Date());
 String format555 = dateFormat10.format(new Date());
 ​
 System.out.println(format1);
 System.out.println(format222);
 System.out.println(format333);
 System.out.println(format444);
 System.out.println(format555);

image-20211116191320091

2.2.4 getInstance()

getInstance()是获取日期和时间格式器,使用 SHORT 风格的默认日期/时间格式器。没有重载方法。

实例展示:

 DateFormat dateFormat5 = DateFormat.getInstance();
 String format2 = dateFormat5.format(new Date());
 System.out.println(format2);

image-20211116191639379

2.3 DateFormat类的方法

除了以上的设置时间或日期的格式器的方法外,DateFormat类中还有一些方法需要我们学习。

Date parse(String source)将给定的字符串解析成日期/时间
String format(Date date)将 Date 格式化为日期/时间字符串

2.3.1format(Date date)方法

String format(Date date) 将 Date 格式化为日期/时间字符串.

结合日期或时间格式器来使用。

实例展示:

 DateFormat df = DateFormat.getInstance();
 Date date = new Date();
 String format = df.format(date);

image-20211116192745739

2.3.2 parse(String source)方法

Date parse(String source) 将给定的字符串解析成日期/时间。刚好和format进行的是相反的操作。

DateFormat是一个抽象类,所以parse方法由它的子类SimpleDateFormat类来使用。

实例展示:

 DateFormat df0 = new SimpleDateFormat("yyyy年MM月dd日");
 String str = "2021年11月11日";
 Date date0 = null;
 try {
     date0 = df0.parse(str);
 } catch (ParseException e) {
     e.printStackTrace();
 }
 System.out.println(date0);

image-20211116194355993

2.4 DateFormat类的应用实例

需求:根据默认的语言环境提示日期和时间。

 DateFormat dateFormat11 = DateFormat.getDateTimeInstance();
 String format10 = dateFormat11.format(new Date());
 System.out.println(format10);

image-20211116195646820

结语

好了,关于DateFormat类我们就介绍到这里了,用了两篇来讲,稍微有点啰嗦,目的是能够更详细,方便读者理解。如有不正之处,欢迎留言指正。