功能:格式化和解析日期
- 将Date类型的日期格式化成我们需要的日期类型
- 一般是 字符串类型将字符串类的日期再转回来。
用到两个方法
format(Date date) : 将date型转换成特定格式的字符串
parse(String str) : 将字符串str转换成特定格式的date型
实例:1.将当前日期转化为我们想要的格式,使用到方法format(Date date)
Date date = new Date();
SimpleDateFormat sdf = new SimpleDateFormat("yyyy年MM月dd日");
String format = sdf.format(date);
System.out.println(format);
效果如图:
实例2.定义特定字符串(年)转化为日期对象,并输出距离1970年位置现在是多少年
String mydate = "2022-04-03";
SimpleDateFormat sdf2 = new SimpleDateFormat("yyyy-MM-dd");
java.util.Date date1 = sdf2.parse(mydate);
System.out.println(date1);
System.out.println(date1.getTime()/1000/3600/24/365);
效果如图
解释:首先我们定义的的是字符串年月日,所以sdf2的格式必须和我们定义的年月日格式匹配(中间加横杠)然后使用parse()方法转化为日期对象之后输出我们定义的字符串年的当前时间。
综合实例3:输入一个人的身份证号码,输出出身年月日(用到字符串截取),格式为xx年xx月xx日并求年龄
String a = "415254199911250159";
String b = a.substring(6,14);
SimpleDateFormat sdf = new SimpleDateFormat("yyyyMMdd");
Date dt= sdf.parse(b);
System.out.println(dt);
SimpleDateFormat sdf1 = new SimpleDateFormat("yyyy年MM月dd日");
String f = sdf1.format(dt);
System.out.println(f);
Date now = new Date();
long age = (now.getTime()-dt.getTime())/1000/60/60/24/360;
System.out.println(age);
结果如图
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)