SimpleDateFormat类 格式化日期

功能:格式化和解析日期

  1. 将Date类型的日期格式化成我们需要的日期类型
  2. 一般是 字符串类型将字符串类的日期再转回来。
    用到两个方法
    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);//将字符串转为日期对象 转为日期对象后就可以改变自己想要的格式了(就是sdf1定义)
        System.out.println(dt);//输出转化为日期对象的时间
        /*定义自己想要的日期格式,转化为日期对象后定义自己想要的格式*/
        SimpleDateFormat sdf1 = new SimpleDateFormat("yyyy年MM月dd日");
        String f = sdf1.format(dt);//格式化日期对象
        System.out.println(f);//输出定义的格式化后的日期对象
        /*求年龄*/
        Date now = new Date();
        /*getTime()是指自己距离1970年为止的毫秒数*/
        /*                                转为   秒   /分/时/日/年 */
        long age = (now.getTime()-dt.getTime())/1000/60/60/24/360;
        System.out.println(age);

结果如图
在这里插入图片描述

  • 2
    点赞
  • 9
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值