一、概念
在程序中日期的数据往往会使用字符串来表示,如果需要进行日期相关的运算,为了操作方便我们会将字符串的日期转换为日期类型。当要将日期信息展示给用户时,往往我们又会将日期对象数据转换为有格式的日期字符串。要完成日期与字符串的相互转换,我们就可以借助DateFormat类了 。
注意:DateFormat本身是一个抽象类,在创建对象使用的时候,一般使用其子类SimpleDateFormat。
二、作用
- 把String类型转换为Date类型
- 把Date类型转换为String类型
三、SimpleDateFormat
3.1、构造方法
SimpleDateFormat(String pattern) // 给定日期模板创建日期格式化对象
日期模板本身就是一个字符串,有一些特殊意义的字符组成,如y表示年,M表示月,d表示日,H表示时,m表示分,s表示秒等,这些在API文档中有做定义。
定义模板时,将日期时间数据用对应字母表示就可以,如
2021-05-14 16:00:00 // yyyy-MM-dd HH:mm:ss 2021/05/14 16:00:00 // yyyy/MM/dd HH:mm:ss 2021年05月14日 16:00:00 // yyyy年MM月dd日 HH:mm:ss
3.2、format
format是一个成员方法,用来格式化,将日期对象格式转化为字符串
public String format(Date d)
案例如下
public class DTest { public static void main(String[] args) throws ParseException { SimpleDateFormat df = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss"); Date date = new Date(); String d = df.format(date); System.out.println(d); // 2021-05-14 16:41:41 } }
3.3、parse
parse是一个成员方法,用来解析,将字符串解析为日期对象
public Date parse(String s)
案例如下
public class DTest { public static void main(String[] args) throws ParseException { SimpleDateFormat df = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss"); String dStr = "2021-05-14 00:00:00"; Date date = df.parse(dStr); System.out.println(date.getTime()); // 1620921600000 } }