SimpleDateFormat格式化⽇期的⽅法和参数
⽬录
⼀、创建默认或⾃定义格式的格式对象
(1)SimpleDateFormat():创建默认格式化⽅式的对象
(2)public SimpleDateFormat(String pattern):创建指定pattern格式的对象
⼆、格式对象调⽤的两种⽅法(格式化、解析)
(1)格式化⽅法 format:⽇期 -> ⽂本
创建的对象调⽤public String format(Date date):格式化时间对象date。
(2)解析⽅法 parse: ⽂本 -> ⽇期
public Date parse(String source):解析给定的字符串⽂本,⽣成⽇期。
三、Date类的两个常⽤⽅法(getTime和toString)
ps:Date(long date),即Date类的形参是long类型的date⽇期参数
(1)getTime():返回⾃ 1970 年 1 ⽉ 1 ⽇ 00:00:00 GMT 以此 Date 对象表⽰的毫秒数。
(2)toString():把Date 对象转换为以下形式的 String: dow mon dd hh:mm:ss zzz yyyy其中: dow是⼀周中的某⼀天 (Sun, Mon, Tue, Wed, Thu, Fri, Sat),zzz是时间标准。
★ pattern格式的写法总结:
yyyy:年
MM:⽉
dd:⽇
hh:1~12⼩时制(1-12)
HH:24⼩时制(0-23)
mm:分
ss:秒
S:毫秒
E:星期⼏
D:⼀年中的第⼏天
F:⼀⽉中的第⼏个星期(会把这个⽉总共过的天数除以7)
w:⼀年中的第⼏个星期
W:⼀⽉中的第⼏星期(会根据实际情况来算)
a:上下午标识
k:和HH差不多,表⽰⼀天24⼩时制(1-24)。
K:和hh差不多,表⽰⼀天12⼩时制(0-11)。
z:表⽰时区
⽤下⾯测试类说明:
例1:格式化⽅法public String format(Date date)
将Date类型的⽇期,转变为指定格式的String⽂本
关键:指定format格式的SimpleDateFormat对象,调⽤format⽅法,将date类型⽇期,只能格式化成同样format类型的String⽇期⽂本。
1public class Test5 {
2    public static void main(String[] args){
3        Date date = new Date();
4        //封装默认⽇期格式对象 & 5种⾃定义⽇期格式对象
5        SimpleDateFormat F0 = new SimpleDateFormat();
6        SimpleDateFormat F1 =new SimpleDateFormat("yyyy年MM⽉dd⽇ HH时mm分ss秒");
7        SimpleDateFormat F2 =new SimpleDateFormat("yy/MM/dd HH:mm");
8        SimpleDateFormat F3 =new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
9        SimpleDateFormat F4 =new SimpleDateFormat("yyyy年MM⽉dd⽇ HH时mm分ss秒");
10        SimpleDateFormat F5 =new SimpleDateFormat("⼀年中的第 D 天⼀年中第w个星期⼀⽉中第W个星期在⼀天中k时 z时区");
11
12        System.out.println(F0.format(date));
13        System.out.println(F1.format(date));
14        System.out.println(F2.format(date));
15        System.out.println(F3.format(date));
16        System.out.println(F4.format(date));
17        System.out.println(F5.format(date));
18    }
19}
打印结果:
118-12-25 上午11:57
22018年12⽉25⽇ 11时57分51秒
318/12/25 11:57
42018-12-25 11:57:51
52018年12⽉25⽇ 11时57分51秒
6⼀年中的第 359 天⼀年中第52个星期⼀⽉中第5个星期在⼀天中11时 CST时区
发现默认格式的String类型⽇期写法是18-12-25 上午11:57这种类型
例2:解析⽅法Date parse(String source)
将String类型的⽇期,解析成Date格式;
不同指定格式的格式化对象,只能解析对应格式的String类型⽇期
关键:指定format格式的SimpleDateFormat对象,只能解析同样format格式类型的String⽇期实参,调⽤parse()⽅法,将String类型的⽇期解析成Date类型
1public class Test5 {
2    public static void main(String[] args) throws ParseException {
3        Date date = new Date();
4        //封装5种⽇期格式对象
5        SimpleDateFormat F1 =new SimpleDateFormat("yyyy年MM⽉dd⽇ HH时mm分ss秒");
6        SimpleDateFormat F2 =new SimpleDateFormat("yy/MM/dd HH:mm");
7        SimpleDateFormat F3 =new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
8        SimpleDateFormat F4 =new SimpleDateFormat("yyyy年MM⽉dd⽇ HH时mm分ss秒");
9        SimpleDateFormat F5 =new SimpleDateFormat("⼀年中的第 D 天⼀年中第w个星期⼀⽉中第W个星期在⼀天中k时 z时区");
10
11        //解析⽅法parse
12        Date date1 = F1.parse("2018年12⽉08⽇ 08时08分08秒");
13        Date date2 = F2.parse("2018/12/08 09:28");
14        Date date3 = F3.parse("2018-12-08 12:15:56");
格式化命令format参数
15
16        System.out.println(date1);
17        System.out.String());
18        System.out.println(date2);
19        System.out.println(date3);
20    }
21}
打印结果:
1Sat Dec 08 08:08:08 CST 2018
2Sat Dec 08 08:08:08 CST 2018
3Sat Dec 08 09:28:00 CST 2018
4Sat Dec 08 12:15:56 CST 2018
发现Date类型的⽇期,格式如上,调⽤toString⽅法⽅法,变为字符串格式后显⽰与Date类型⼀致。
ps:parse()中引⼊的⽇期参数,格式必须与调⽤该⽅法的SimpleDateFormat对象封装的格式⼀致,若不⼀致会报错。

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。