DateFormat类与SimpleDateFormat类

DateFormat类

java.text.DateFormat是日期/时间格式化子类的抽象类,我们通过这个类可以帮我们完成日期和文本之间的转换,也就是可以在Date对象与String对象之间进行来回转换。

*格式化:按照指定的格式,从Date对象转换为String对象。日期->文本
*解析:按照指定的格式,从String对象转换为Date对象。文本->日期

成员方法:
String format(Date date)按照指定的模式,把Date日期格式化为符合模式的字符串,日期->文本。

Date parse( String source)把符合模式的字符串解析为Date日期,文本->日期。

DateFormat类是一个抽象类,无法直接创建对象使用,可以使用DateFormat类的子类SimpleDateFormat类

 

SimpleDateFormat类

创建默认或自定义格式的格式对象
(1)SimpleDateFormat():创建默认格式化方式的对象
(2)public SimpleDateFormat(String pattern):创建指定pattern格式的对象。(参数pattern是一个字符串,代表日期时间的自定义格式)

y :年 、M:月 、 d:日、 H :时、m :分 、s:秒      注:模式中字母不能改,连接模式的符号可以改

 

备注:更详细的格式规则,可以参考SimpleDateFormat类的API文档。

构造方法代码如下:

1 import java.text.DateFormat;
2 import java.text.SimpleDateFormat;
3 
4 public class Demo01 {
5     public static void main(String[] args) {
6         // 对应的日期格式如:2018-01-16 15:06:38
7         DateFormat format = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
8     }    
9 }

 

Format方法使用代码如下:

 1 import java.text.DateFormat;
 2 import java.text.SimpleDateFormat;
 3 import java.util.Date;
 4 /*
 5  把Date对象转换成String字符串
 6 */
 7 public class Demo02 {
 8     public static void main(String[] args) {
 9         Date date = new Date();
10         // 创建日期格式化对象,在获取格式化对象时可以指定风格
11         DateFormat df = new SimpleDateFormat("yyyy年MM月dd日");
12         String str = df.format(date);
13         System.out.println(str); // 2020年11月3日
14     }
15 }

 

Prase方法使用代码如下:

 1 import java.text.DateFormat;
 2 import java.text.ParseException;
 3 import java.text.SimpleDateFormat;
 4 import java.util.Date;
 5 /*
 6 把String转换成Date对象
 7 */
 8  public class Demo03{
 9     public static void main(String[] args) throws ParseException {
10          DateFormat df = new SimpleDateFormat("yyyy年MM月dd日");
11          String str = "2018年12月11日";
12          Date date = df.parse(str);
13          System.out.println(date); // Tue Dec 11 00:00:00 CST 2018
14      }
15  }

注意:

public Date parse(String source) throws ParseExceptionparse方法声明了一个异常叫ParseException,如果字符串和构造方法的模式不一样,那么程序就会抛出此异常一个抛出了异常的方法,就必须的处理这个异常,要么throws(继续抛出)这个异常,要么try-catch自己处理。

有关异常处理机制详细内容后面会说到。    

上一篇:【JAVA SE基础篇】36.时间处理相关类


下一篇:JAVA格式化时间日期方法介绍