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