• SimpleDateFormat 类的总结


    SimpleDateFormat 类的总结

    • 所在包 java.text

    • 继承结构:java.lang.Object ---> java.text.Format ---> java.text.DateFormat

    • 构造函数:SimpleDateFormat(String pattern) 如:SimpleDateFormat("yyyy-MM-dd HH:mm:ss")

    第一:Date 转 String

    • 使用SimpleDateFormat 和 父类 DateFormat (抽象类)的 format()方法。如以下例子都用到了此方法

    • 年 : y : (常规使用四个y 如:yyyy)

    一个y时返回四位数年份,如2018。
    两个y时返回两位数年份,如18。三个y时返回四位数年份,如2018。
    四个y时返回四位数年份,如2018
    四个以上y时返回四位数年份前面用0填充,如五个y时返回02018 ,六个y时返回002018等等
    
    Date date = new Date() ;
    String time1 = new SimpleDateFormat("y").format(date) ;  \一个y时返回四位数年份,如2018
    String time2 = new SimpleDateFormat("yy").format(date) ;  \两个y时返回两位数年份,如18
    String time3 = new SimpleDateFormat("yyy").format(date) ;  \三个y时返回四位数年份,如2018
    String time4 = new SimpleDateFormat("yyyy").format(date) ;  \四个y时返回四位数年份,如2018
    String time5 = new SimpleDateFormat("yyyyyy").format(date) ;  \四个以上y时返回四位数年份前面用0填充,如五位时02018 ,六位时002018等等
    
    • 月 :M :(常规使用两个M 如:MM)
    一个M时返一位数,如 3 或 11 。
    两个M时返回两位数 如 03 或 11 。
    三个及以上M时返回中文格式 如 三月、十一月等 。
    
    Date date = new Date() ;
    String time1 = new SimpleDateFormat("M").format(date) ;  \一个M时返一位数,如 3 或 11 
    String time2 = new SimpleDateFormat("MM").format(date) ;  \两个M时返回两位数 如 03 或 11
    String time3 = new SimpleDateFormat("MMM").format(date) ;  \三个及以上M时返回中文格式 如 三月
    
    • 日 : d :(常规使用两个d 如:dd) ---- 分 :m :(常归使用两个m 如:mm) ---- 秒 :s :(常归使用两个s 如:ss)
    • 以下规则通用这三种类划
    一个d时返一位数,如 3 或 11 。
    两个及以上d时返回对应位数 如三个d时返回 003 或 011 。
    
    Date date = new Date() ;
    String time1 = new SimpleDateFormat("d").format(date) ;  \一个d时返一位数,如 3 或 11 
    String time2 = new SimpleDateFormat("dd").format(date) ;  \两个d时返回两位数 如 03 或 11
    String time3 = new SimpleDateFormat("ddd").format(date) ;  \三个d时返回三位数 如 003 或 011
    

    第二:String转Date

    • 同样使用SimpleDateFormat 的 父类 DateFormat (抽象类)的方法,parse()。如以下例子都用到了此方法
    从给定字符串的开始解析文本,以生成一个日期。该方法不使用给定字符串的整个文本。
    String str = "2018-03-11 12:13:111" ;
    Date date = new SimpleDateFormat("yyyy-MM-dd").parse(str) ;
    返回值是 Sun Mar 11 00:00:00 CST 2018 注意:该方法不使用给定字符串的整个文本.比如:"2018-03-11sdfdsfewewrewrwe" 这样儿的值传进去结果还是一样
    但是,但是,如果字符串给字的格式达不到SimpleDateFormat中定义的模式的话,就会抛出异常,比如"2018-03"这样儿的字符串,没达到要求的"yyyy-MM-dd"格式,即抛出异常
    另外,另外,如果字符串中的时间值超大了,会自动进位,如 "2018-23-11" ,结果为:Mon Nov 11 00:00:00 CST 2019
    
  • 相关阅读:
    git 常用命令
    mac 显示隐藏文件
    android 图片缓存
    字符串与枚举相互转换
    ios 消息通知
    ios 真机调试
    ios 宏定义 系统版本 判定
    autolayout autoresizing
    c++对象创建带括号与无括号的区别
    内存对齐
  • 原文地址:https://www.cnblogs.com/haixianet/p/8678611.html
Copyright © 2020-2023  润新知