SimpleDateFormat格式化日期的方法和参数

SimpleDateFormat格式化日期的方法和参数

 

目录

一、创建默认或自定义格式的格式对象

二、格式对象调用的两种方法(格式化、解析)

三、Date类的两个常用方法(getTime和toString)

★ pattern格式的写法总结:

例1:格式化方法public String format(Date date)

         将Date类型的日期,转变为指定格式的String文本

例2:解析方法Date parse(String source)

         将String类型的日期,解析成Date格式;

         不同指定格式的格式化对象,只能解析对应格式的String类型日期


一、创建默认或自定义格式的格式对象

(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)

public class Test5 {
    public static void main(String[] args){
        Date date = new Date();
        //封装默认日期格式对象 & 5种自定义日期格式对象
        SimpleDateFormat F0 = new SimpleDateFormat();
        SimpleDateFormat F1 =new SimpleDateFormat("yyyy年MM月dd日 HH时mm分ss秒");
        SimpleDateFormat F2 =new SimpleDateFormat("yy/MM/dd HH:mm");
        SimpleDateFormat F3 =new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
        SimpleDateFormat F4 =new SimpleDateFormat("yyyy年MM月dd日 HH时mm分ss秒");
        SimpleDateFormat F5 =new SimpleDateFormat("一年中的第 D 天 一年中第w个星期 一月中第W个星期 在一天中k时 z时区");
 
        System.out.println(F0.format(date));
        System.out.println(F1.format(date));
        System.out.println(F2.format(date));
        System.out.println(F3.format(date));
        System.out.println(F4.format(date));
        System.out.println(F5.format(date));
    }
}

打印结果:

18-12-25 上午11:57
2018122511575118/12/25 11:57
2018-12-25 11:57:51
20181225115751秒
一年中的第 359 天 一年中第52个星期 一月中第5个星期 在一天中11时 CST时区

例2:解析方法Date parse(String source)

将String类型的日期,解析成Date格式;

不同指定格式的格式化对象,只能解析对应格式的String类型日期

关键:指定format格式的SimpleDateFormat对象,只能解析同样format格式类型的String日期实参,调用parse()方法,将String类型的日期解析成Date类型

public class Test5 {
    public static void main(String[] args) throws ParseException {
        Date date = new Date();
        //封装5种日期格式对象
        SimpleDateFormat F1 =new SimpleDateFormat("yyyy年MM月dd日 HH时mm分ss秒");
        SimpleDateFormat F2 =new SimpleDateFormat("yy/MM/dd HH:mm");
        SimpleDateFormat F3 =new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
        SimpleDateFormat F4 =new SimpleDateFormat("yyyy年MM月dd日 HH时mm分ss秒");
        SimpleDateFormat F5 =new SimpleDateFormat("一年中的第 D 天 一年中第w个星期 一月中第W个星期 在一天中k时 z时区");
 
        //解析方法parse
        Date date1 = F1.parse("2018年12月08日 08时08分08秒");
        Date date2 = F2.parse("2018/12/08 09:28");
        Date date3 = F3.parse("2018-12-08 12:15:56");
 
        System.out.println(date1);
        System.out.println(date1.toString());
        System.out.println(date2);
        System.out.println(date3);
    }
}

打印结果:

Sat Dec 08 08:08:08 CST 2018
Sat Dec 08 08:08:08 CST 2018
Sat Dec 08 09:28:00 CST 2018
Sat Dec 08 12:15:56 CST 2018

发现Date类型的日期,格式如上,调用toString方法方法,变为字符串格式后显示与Date类型一致。

ps:parse()中引入的日期参数,格式必须与调用该方法的SimpleDateFormat对象封装的格式一致,若不一致会报错。

 

 

你可能感兴趣的:(JAVA,java)