DateFormat类

时间:2019-01-19
本文章向大家介绍DateFormat类,主要包括DateFormat类使用实例、应用技巧、基本知识点总结和需要注意事项,具有一定的参考价值,需要的朋友可以参考一下。
package DateFormat;

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

/*
DateFormat 是日期/时间格式化子类的抽象类
日期/时间格式化子类(如 SimpleDateFormat)允许进行格式化(也就是日期 -> 文本)、解析(文本-> 日期)和标准化
不能直接创建对象使用需要用他的子类SimpleDateFormat

使用方法
 成员方法 :
 format(Date date)  将一个 Date 格式化为日期/时间字符串


DateFormat的子类SimpleDateFormat
构造方法:
        SimpleDateFormat(String pattern)
          用给定的模式和默认语言环境的日期格式符号构造 SimpleDateFormat。

          模式区分大小写:
          y    年
          M    月
          d    日
          H    时
          m    分
          s    秒
          注意:
          【字母不能改但是连接符号可以改】


以下示例显示了如何在美国语言环境中解释日期和时间模式。
给定的日期和时间为美国太平洋时区的本地时间 2001-07-04 12:08:56。
         日期和时间模式                 结果
"yyyy.MM.dd G 'at' HH:mm:ss z"       2001.07.04 AD at 12:08:56 PDT
"EEE, MMM d, ''yy"                   Wed, Jul 4, '01
"h:mm a"                             12:08 PM
"hh 'o''clock' a, zzzz"              12 o'clock PM, Pacific Daylight Time
"K:mm a, z"                          0:08 PM, PDT
"yyyyy.MMMMM.dd GGG hh:mm aaa"       02001.July.04 AD 12:08 PM
"EEE, d MMM yyyy HH:mm:ss Z"         Wed, 4 Jul 2001 12:08:56 -0700
"yyMMddHHmmssZ"                      010704120856-0700
"yyyy-MM-dd'T'HH:mm:ss.SSSZ"         2001-07-04T12:08:56.235-0700



 */
public class demo_01_dateFormat {

    public static void main(String[] args) throws ParseException {
        demo();
        demo2();
    }

    private static void demo2() throws ParseException {
        //        创建一个解析的方法
//        1.创建SimpleDateFormat对象构造方法中传递指定的模式
//        2.调用SimpleDateFormat对象中的方法parse,把符合构造方法中模式的字符串解析为date日期
/*我们注意:
public Date parse(String source) throws ParseException
    prase方法声明了一个异常,那么程序就会输出异常
    调用了一个输出异常的方法就必须处理这个异常
    处理方法:1.throws继续输出这个异常(就是在方法所在的方法上声明这个异常,当模式没有问题的时候输出,有问题的时候抛出异常(alt+Enter))
              2.try...catch自己处理这个异常
* */
        DateFormat dateFormat = new SimpleDateFormat("G yyyy-MM-dd HH:mm:ss z");
        Date date = dateFormat.parse("公元 2019-01-17 16:52:20 CST");
        System.out.println(date);

    }

    private static void demo() {
//        创建一个格式化的方法
//        1.创建SimpleDateFormat对象,构造方法中传递指定的模式
//        2.调用SimpleDateFormat对象中的方法format,按照构造方法中指定的格式把日期格式为符合模式的字符串(文本)
        DateFormat dateFormat = new SimpleDateFormat("G yyyy-MM-dd HH:mm:ss z");
        long num = System.currentTimeMillis();
       /*
//        获取系统当前时间
       Date date = new Date();
        String s1 = dateFormat.format(date);
        System.out.println(s1);*/
        String s = dateFormat.format(num);
        System.out.println(s);//公元 2019-01-18 21:17:33 CST

    }

}