ICode9

精准搜索请尝试: 精确搜索
首页 > 其他分享> 文章详细

DateFormat类与SimpleDateFormat类介绍和DateFormat类的format方法与parse方法

2022-07-05 13:32:00  阅读:220  来源: 互联网

标签:String format DateFormat 模式 SimpleDateFormat parse Date


DateFormat类与SimpleDateFormat类介绍

DateFormat类

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

格式化:按照指定的格式,从Date对象转换为String对象。

解析︰按照指定的格式,从String对象转换为Date对象。

常用的格式

 

 

 

java.text.DateFormat:是日期/时间格式化子类的抽象类

作用:
  格式化 (也就是日期->文本)、解析(文本->日期) 

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

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

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

    java.text.simpLeDateFormat extends DateFormat
构造方法:
    SimpLeDateFormat(String pattern)用给定的模式和Z认语言环境的日期格式符号构造simpLeDateForma

参数:

    String pattern:传递指定的模式模式:区分大小写的

    写对应的模式,会把模式替换为对应的日期和时间
      "yyyy-M-dd HH : mm: ss"
      "yyyy 年 mm 日 HH 日 mm 分 ss 秒”

注意:

  模式中的字母不能更改,连接模式的符号可以改变

DateFormat类的format方法与parse方法

format方法

使用DateFormat类中的方法format,把日期格式化为文本

string format(Date date)按照指定的模式,把Date日期,格式化为符合模式的字符串

    public static void main(String[] args) {
        //1.创建simpLeDateFormat对象,构造方法中传递指定的模式
        SimpleDateFormat sdf = new SimpleDateFormat( "yyyy年M月dd日HH时mm分ss秒");
        //2.调用SimpLeDateFormat对象中的方法format ,按照构造方法中指定的模式,把Date日期格式化为符合模式的字符串(文本)
        Date date = new Date();
        String text = sdf.format(date);
        System.out.println(date);//Tue Jul 05 13:09:29 CST 2022
        System.out.println(text);//2022年7月05日13时09分29秒

        
        SimpleDateFormat sdf1 = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
        Date date1 = new Date();
        String text1 = sdf1.format(date1);
        System.out.println(date1);//Tue Jul 05 13:11:51 CST 2022
        System.out.println(text1);//2022-07-05 13:11:51
    }

parse方法

使用DateFormat类中的方法parse,把文本解析为日期

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

注意:
  public Date parse(String source) throws ParseExceptionparse方法声明了一个异常叫ParseException解析异常

  如果字符串和构造方法中的模式不一样,那么程序就会抛出此异常

  调用一个抛出了异常的方法,就必须的处理这个异常,要么throws继续声明抛出这一个异常,要么try...catch自己处理这个异常

 public static void main(String[] args) throws ParseException {
        //1.创建simpleDateFormat对象,构造方法中传递指定的模式
        SimpleDateFormat sdf = new SimpleDateFormat(  "yyyy年M月dd日HH时mm分ss秒");
        //2.调用SimpleDateFormat对象中的方法parse,把符合构造方法中模式的字符串,解析为Date日期
        Date date = sdf.parse("2088年08月08日17时01分10秒");
        System.out.println(date);//Sun Aug 08 17:01:10 CST 2088
    }

 

这是一个错误写法
    public static void main(String[] args) throws ParseException {
        //1.创建simpleDateFormat对象,构造方法中传递指定的模式
        SimpleDateFormat sdf = new SimpleDateFormat(  "yyyy年M月dd日HH时mm分ss秒");
        //2.调用SimpleDateFormat对象中的方法parse,把符合构造方法中模式的字符串,解析为Date日期
        Date date = sdf.parse("2088年08月08日17时01分10");
        System.out.println(date);
        /*
            Exception in thread "main" java.text.ParseException: Unparseable date: "2088年08月08日17时01分10"
            at java.text.DateFormat.parse(DateFormat.java:366)
            at com.Demo_04.DateParse.main(DateParse.java:12)
         */
    

 

标签:String,format,DateFormat,模式,SimpleDateFormat,parse,Date
来源: https://www.cnblogs.com/yuzong/p/16446049.html

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有