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

转载于:https://www.cnblogs.com/haixianet/p/8678611.html

SimpleDateFormat 类的总结相关推荐

  1. Date类(java.util)和SimpleDateFormat类(java.text)

    在程序开发中,经常需要处理日期和时间的相关数据,此时我们可以使用 java.util 包中的 Date 类.这个类最主要的作用就是获取当前时间,我们来看下 Date 类的使用: 使用 Date 类的默 ...

  2. 用SimpleDateFormat类设置时间格式

    用SimpleDateFormat类设置时间格式 www.diybl.com 时间:2008-10-02 作者:佚名 编辑:本站 点击: [评论] String[] formatArr = {&quo ...

  3. Java的知识点22——时间处理相关类、Date时间类(java.util.Date)、DateFormat类和SimpleDateFormat类、Calendar日历类

    时间处理相关类 用long类型的变量来表示时间,获得现在时刻的"时刻数值":long now = System.currentTimeMillis(); Date时间类(java. ...

  4. java.text.dateformat_使用java.text.SimpleDateFormat类进行文本日期和Date日期的转换

    Date类内部既不存储年月日也不存储时分秒,而是存储一个从1970年1月1日0点0分0秒开始的毫秒数,而真正有用的年月日时分秒毫秒都是从这个毫秒数转化而来,这是它不容易被使用的地方,尤其是显示和存储的 ...

  5. 6、日期格式化(DateFormat类和SimpleDateFormat类)

    格式化日期表示将日期/时间格式转换为预先定义的日期/时间格式.例如将日期"Fri May 18 15:46:24 CST2016" 格式转换为 "2016-5-18 15 ...

  6. 第三次学JAVA再学不好就吃翔(part73)--SimpleDateFormat类

    学习笔记,仅供参考,有错必纠 DateFormat类 DateFormat类是java.text包下的一个类,使用该类时需要导包. DateFormat 是日期/时间格式化子类的抽象类,它以与语言无关 ...

  7. Java计算时间差_传统的SimpleDateFormat类

    Java计算时间差_传统的SimpleDateFormat类 SimpleDateFormat simpleFormat = new SimpleDateFormat("yyyy-MM-dd ...

  8. 【Java】浅析SimpleDateFormat类

    介绍SimpleDateFormat类 SimpleDateFormat类 :java.text.SimpleDateFormat 一个以与语言环境相关的方式来格式化和分析日期的具体类.是抽象类 ja ...

  9. SimpleDateFormat类 java 1614697530

    SimpleDateFormat类 java 1614697530 关于 格式 构造方法 格式化与解析 演练 从日期到字符串 指定格式 加上年月日文字 演练 从字符串到日期

  10. SimpleDateFormat类的安全问题,这6个方案总有一个适合你

    本文分享自华为云社区<[高并发]SimpleDateFormat类的线程安全问题和解决方案(附6种解决方案)>,作者: 冰 河. 首先问下大家:你使用的SimpleDateFormat类还 ...

最新文章

  1. 只有变强大,才能照亮他人
  2. loj2058 「TJOI / HEOI2016」求和 NTT
  3. flash,sdram 和 cpu 是 T形连接(类似于争的板子上flash和sdram的拓扑结构) --- FLASH搭上SDRAM,并不是你想象的那样不用布等长!...
  4. 安装python及web.py
  5. 北京计算机工业学校96届,刘驰_北京理工大学计算机学院
  6. EMNLP2018论文解读 | 三种提升多语言翻译模型的高效策略
  7. 面试题,产品方案开发说实现不了,作为产品经理你该怎么办?
  8. Kubernetes—动态存储卷配置(StorageClass资源)(十二)
  9. 一拍是多少秒 计算机制音乐,E哥谈如何计算音乐的拍数及每拍时值是多少及数学好对学音乐有帮助吗?...
  10. 成信大c语言答案P239.C,2011秋季江苏省计算机二级C语言试题与答案.doc
  11. 添加Centos缺失的命令
  12. matlab线性数据毛刺剔除,matlab滤波技术及区域处理---线性滤波
  13. 金山词霸2006.and.金山快译2006 2合1免激活版
  14. C语言测量平差课程设计,测量平差课程设计-20210419024415.docx-原创力文档
  15. 使用Keepalived实现负载均衡
  16. [渝粤教育] 四川大学 土木工程概论 参考 资料
  17. STM32F4内的FLASH和RAM
  18. 相位延时、相位延迟、群延时
  19. idea导入项目却没有项目结构
  20. Go 语言入门三部曲(一):能看懂 Go 语言

热门文章

  1. 游戏开发之C++指针的妙用(C++)
  2. 使用paramiko在eNSP的交换机中批量创建VLAN
  3. eNSP仿真模拟与实际环境的几个不符点
  4. 华三 h3c PBR策略配置
  5. 2021年网络工程师备考心得
  6. kvm 网络配置及克隆
  7. 用ifconfig命令,只有lo,没有eth0的解决方案
  8. NYOJ --25--A Famous Music Composer
  9. accumulate
  10. 网站banner图片制作(简易版)