【需求】日期是可以计算的,而日期字符串无法计算。
由于DateFormat是抽象类,我们一般都是用的它的子类SimpleDateFormat。
【SimpleDateFormat构造方法】
1)SimpleDateFormat():默认无参构造。
//创建日期对象,即获取当前日期
Date date = new Date();
//实例化SimpleDateFormat类,以便调用方法
SimpleDateFormat sdf = new SimpleDateFormat();
//打印格式化后的日期
System.out.println(sdf.format(date));
输出结果:
18-2-15 下午4:59
2)SimpleDateFormat(String pattern) :用给定的模式和默认语言环境的日期格式符号构造 SimpleDateFormat。
// 创建日期对象,即获取当前日期
Date date = new Date();
// 用有参构造实例化SimpleDateFormat类,以便调用方法
// yyyy是年,MM是月,dd是日,HH是(24小时制)时,hh是(12小时制)时,mm是分,ss是秒
SimpleDateFormat sdf = new SimpleDateFormat("yyyy年MM月dd日 HH:mm:ss");
// 打印格式化后的日期
System.out.println(sdf.format(date));
【链式编程写法,很精简】
System.out.println(new SimpleDateFormat("yyyy-MM-dd HH:mm:ss").format(new Date()));
注:这里用的是SimpleDateFormat的父类(抽象类)DateFormat的public String format(Date date)方法。
【字符串转日期】
//获取一个较规范的日期字符串
String ss = "2010-01-12 08:32:11";
// 用有参构造实例化SimpleDateFormat类,以便调用方法
SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
//调用父类的parse(String pattern)方法解析字符串为日期对象
Date date = sdf.parse(ss);
//打印日期,若显示默认格式则正确
System.out.println(date);