参考:
http://swiftlet.net/archives/1279
因为在设置格式化模板的时候,会使用占位符来表示字符串的格式,所以要注意一下各个占位符表示的含义。
y 年
M 年中的月份
D 年中的天数
d 月份中的天数
H 一天中的小时数(0-23)
h am/pm 中的小时数(1-12)
m 小时中的分钟数
s 分钟中的秒数
S 毫秒数

SimpleDateFormat构造方法

首先需要使用SimpleDateFormat类的构造函数设置格式化模板。如使用构造方法:public SimpleDateFormat(String pattern);pattern(格式化模板)对于parse方法和format方法的意义各不相同。具体来说,对于parse方法,则表示要解析的字符串应当具有何种格式,不符合则无法解析,若字符串同格式化模板指定的一致,则将此格式的String转为Date类型对象;而对于format方法,表示以哪种格式将Date对象格式化为String。

        SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");  

下面我们来看看具体的代码加深理解。

parse

parse方法声明如下:
public Date parse(String source) throws ParseException;

public static void testParse() {String str = "2013-01-21 15:10:20";  Date date=null ;  SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");  try {  date = sdf.parse(str);  System.out.println(date); System.out.println(date.getTime());} catch (ParseException e) {  System.out.println(e.getMessage());  }  }

需要注意的是,str的格式必须与构造器所指定的格式化模板一样。因为这是在SimpleDateFormat对象将此格式的字符串转为Date类型的对象。如果2者格式不一致则无法解析,所提示的信息为:Unparseable date: “2013-01-21 15:10:20”;也就无法得到Date类型的对象。

format

format方法声明如下:
public final String format(Date date)

public static void testFormat() {SimpleDateFormat dateformat=new SimpleDateFormat("yyyy年MM月dd日 HH时mm分ss秒 ");Date d = new Date();String a=dateformat.format(d);System.out.println("new Date() = "+d);System.out.println("时间:"+a);}

而format方法则只需要指定格式化模板即可,至于format方法中传入的参数是Date类型的即可。

SimpleDateFormat类format方法和parse方法的使用相关推荐

  1. DateFormat类的format方法和parse方法

    package com.learn.demo03.DateFormat;import java.text.ParseException; import java.text.SimpleDateForm ...

  2. PIL库中Image类thumbnail方法和resize方法区别

    from PIL import Image   im=Image.open("C:\\Users\\kethur\\Desktop\\a.jpg") x,y=im.size pri ...

  3. python中的format方法和int方法

    一.背景 我们在进行计算机进制转换的时候需要用到一些其他的进制,最常见的就是二进制,八进制,16进制.这里介绍两种方法去完成进制之间的转换. 二.使用 1 format方法 format方法中包含两个 ...

  4. python:PIL库中Image类thumbnail方法和resize方法的比较

    from PIL import Imageim=Image.open("C:\\Users\\kethur\\Desktop\\a.jpg") x,y=im.size print( ...

  5. 并发基础篇(六):线程Thread类的start()方法和run()方法

    点个赞,看一看,好习惯!本文 GitHub https://github.com/OUYANGSIHAI/JavaInterview 已收录,这是我花了 3 个月总结的一线大厂 Java 面试总结,本 ...

  6. 线程Thread类的start()方法和run()方法

    一.初识 java的线程是通过java.lang.Thread类来实现的.VM启动时会有一个由主方法所定义的线程.可以通过创建Thread的实例来创建新的线程.每个线程都是通过某个特定Thread对象 ...

  7. 在HashSet集合中添加三个Person对象,把姓名相同的人当作同一个人,禁止重复添加。 提示:Person类中定义name和age属性,重写hashCode()方法和equals()方法,针对Pe

    题目: 在HashSet集合中添加三个Person对象,把姓名相同的人当作同一个人,禁止重复添加. 提示:Person类中定义name和age属性,重写hashCode()方法和equals()方法, ...

  8. Thread类的run方法和start方法

    Thread类的run方法和start方法 start方法是Thread类中的方法,用于启动新的线程.而调用run方法时,不会启动新的线程.在调用start方法后,程序会在后台启动新的线程.然后,由这 ...

  9. 错误: 内存泄漏,当您使用 GetDC 方法和 ReleaseDC 方法的 CWnd 类版本

    症状 调用CWnd::GetDC函数跟CWnd::ReleaseDC函数的代码运行时,会出现 4 个字节的内存泄漏. 原因 导致此错误的原因是当前未知. 解决方案 若要避免此问题,请不要使用GetDC ...

  10. python 推迟运行_一文看懂Python的time模块sleep()方法和strftime()方法

    概述 今天主要介绍一下Python的time sleep()方法和strftime()方法. 一.Python time sleep()方法 Python time sleep() 函数推迟调用线程的 ...

最新文章

  1. 网络编程学习笔记(ioctl操作)
  2. Effective Java读书笔记一:并发
  3. javascript模式——Mixin
  4. python value函数_python 函数基础
  5. 注解 @PostConstruct 与 @PreDestroy 详解及实例
  6. 9.带有返回值的函数
  7. oracle升级后报 06502,Oracle数据库升级后报ORA-00704和ORA-39700错误
  8. html5 标准结构_IT兄弟连 HTML5教程 HTML文件的主体结构
  9. 在package.json中使用git URL依赖分支或标记?
  10. 基于.net技术的 Rss 订阅开发
  11. 安装虚拟机(二)配置静态ip
  12. java 继承list_Java集合—List—继承关系
  13. java 刘意 2018_2018刘意油画●水彩作品展
  14. U盘无法格式化的原因及解决方法
  15. JavaWeb-仿小米商城(1) 项目启动
  16. 计算机软件基础自考实践报告,信息作战自考实践报告
  17. 青春如电,许多未了心愿
  18. 游戏服务器的压力测试应该如何进行
  19. 2021-09-16什么是MQL4、MQL5语言?
  20. python循环语句打印三角形_Python利用for循环打印星号三角形的案例

热门文章

  1. git提交代码 visual_git/github相关介绍
  2. 解决fabric编译失败(make: *** [release/linux-amd64/bin/configtxgen] Error 1)
  3. java工程师面试几百问_不是吧?面试被问了几百遍的JVM,你还搞不清楚?
  4. 多元统计分析最短距离法_多元统计分析习题及解答.doc
  5. ElementUI:路由界面刷新后导航栏仍显示default-active不跟随路由变化
  6. Node.js:package.json中的dependencies和devDependencies区别
  7. c语言引用与指针有什么区别,Java引用与C语言指针的区别
  8. Java基础学习(1)-反射
  9. Matlab使用for循环将多个行向量合成一个行向量或者一个多维矩阵
  10. 基于点云的视觉引导系统