目录

​一、SimpleDateFormat类概述​

​二、SimpleDateFormat的构造方法​

​三、SimpleDateFormat格式化和解析日期​


一、SimpleDateFormat类概述

SimpleDateFormat是一个具体的类,用于以区域设置敏感的方式格式化和解析日期。

日期和时间格式由日期和时间模式 字符串指定。在日期和时间模式字符串中,未加引号的字母 ​​'A'​​​ 到 ​​'Z'​​​ 和 ​​'a'​​​ 到 ​​'z'​​​ 被解释为模式字母,用来表示日期或时间字符串元素。文本可以使用单引号 (​​'​​​) 引起来,以免进行解释。​​"''"​​ 表示单引号。所有其他字符均不解释;只是在格式化时将它们简单复制到输出字符串,或者在解析时与输入字符串进行匹配。

定义了以下模式字母(所有其他字符 ​​'A'​​​ 到 ​​'Z'​​​ 和 ​​'a'​​​ 到 ​​'z'​​ 都被保留):

字母

日期或时间元素

表示

示例

G

Era标志符

Text

AD

y


Year

1996;96

M

年中的月份

Month

July;Jul;07

w

年中的周数

Number

27

W

月份中的周数

Number

2

D

年中的天数

Number

189

d

月份中的天数

Number

10

F

月份中的星期

Number

2

E

星期中的天数

Text

Tuesday;Tue

a

Am/pm标记

Text

PM

H

一天中的小时数(0-23)

Number

0

k

一天中的小时数(1-24)

Number

24

K

am/pm中的小时数(0-11)

Number

0

h

am/pm中的小时数(1-12)

Number

12

m

小时中的分钟数

Number

30

s

分钟中的秒数

Number

55

S

毫秒数

Number

978

z

时区

General  time  zone

Pacfic  Standard  Time;PST;GMT-08:00

Z

时区

RFC  822  time  zone

-0800

常用的模式字母及对应关系:

        y -- 年        M -- 月        d -- 日        H -- 时       m -- 分        s -- 秒

二、SimpleDateFormat的构造方法

方法名

说明

public  SimpleDateFormat()

构造一个SimpleDateFormat,使用默认模式和日期格式

public  SimpleDateFormat(String  pattern)

构造一个SimpleDateFormat使用给定的模式和默认的日期格式

三、SimpleDateFormat格式化和解析日期

1、格式化(从Date到String)

  public final String format(Date date):将日期格式化成日期/时间字符串

2、解析(从String到Date)

  public Date pase(String source):从给定字符串的开始解析文本以生成日期

代码:

import java.text.ParseException;
import java.text.SimpleDateFormat;
import java.util.Date;

public class SimpleDateFormatDemo {
public static void main(String[] args) throws ParseException {
//格式化:从Date到String
Date d = new Date();//获取当前系统的时间

SimpleDateFormat sdf = new SimpleDateFormat("yyyy年MM月dd日 HH:mm:ss");
String s = sdf.format(d);
System.out.println(s);
System.out.println("--------");

//解析:从String到Date
String ss = "2022-03-20 20:20:20";
SimpleDateFormat sdf2 = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
Date dd = sdf2.parse(ss);
System.out.println(dd);
}
}

运行结果:

Java中SimpleDateFormat的具体用法_java

 因为最后输出的是解析后的模式,解析的设置是为了限定String的输入格式。