JavaSE(3)

1. 请使用日期时间相关的API,计算出一个人已经出生了多少年,再转换为多少天(一年365天)。
提醒:因为Scanner 在junit种无法键盘录入 所有代码写在main方法种
           @Test
    public void yearsOfBirth() throws ParseException {
        //1. 请使用日期时间相关的API,计算出一个人已经出生了多少年,再转换为多少天(一年365天)。

        //java 8之前
//        Scanner scan=new Scanner(System.in);
//        System.out.println("请输入你的出身年月日:(2001-1-1)");
//        String  birthdayStr= scan.next();
//        SimpleDateFormat sdf=new SimpleDateFormat("yyyy-MM-dd");
//        Date birthday= sdf.parse(birthdayStr);
//        Calendar c=Calendar.getInstance();
//        c.setTime(birthday);
//        int year=c.get(Calendar.YEAR);
//        Calendar c2=Calendar.getInstance();
//        int year2=c2.get(Calendar.YEAR);
//        Date now=new Date();
//        System.out.println("你已经出生了"+(year2-year)+"年");
//        int days=(int)((now.getTime()-birthday.getTime())/(1000*60*60*24));
//        System.out.println("活了"+days+"天");

        //Java 8
        //将字符串转换为日期  Date格式
        LocalDate now=LocalDate.now();
        Scanner scan=new Scanner(System.in);
        System.out.println("请输入你的出身年月日:(2001-1-1)");
        String  birthdayStr= scan.next();
        DateTimeFormatter dtf=DateTimeFormatter.ofPattern("yyyy-MM-dd");
        LocalDate birthdayDate = LocalDate.parse(birthdayStr, dtf);
        int yearBirthday = birthdayDate.get(ChronoField.YEAR);
        int years=now.get(ChronoField.YEAR)-yearBirthday;
        System.out.println("你活了"+years+"年");
        long nowDays = now.toEpochDay();
        long days=nowDays-birthdayDate.toEpochDay();
        System.out.println("你活了"+days+"天");

    }
2. 获取当前的日期,并把这个日期转换为指定格式的字符串 如2088-08-08 08:08:08
@Test
    public void conversionDate(){
//        2. 获取当前的日期,并把这个日期转换为指定格式的字符串
//        如2088-08-08 08:08:08

        //  java 8之前
        Date nowDate=new Date();
        SimpleDateFormat sdt=new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
        String strDate= sdt.format(nowDate);
        System.out.println(strDate);

        //Java 8之后
        LocalDateTime now=LocalDateTime.now();
        DateTimeFormatter dtf=DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm:ss");
        String str=dtf.format(now);
        System.out.println(str);
    }
3. 判断2018年2月14日是星期几
@Test
    public void judgeDayOfTheWork(){
//        3. 判断2018年2月14日是星期几
        //  Java 8 之前
        Calendar c=Calendar.getInstance();
        c.set(2018,1,14);
        int days=c.get(Calendar.DAY_OF_WEEK);//  周日是 1  周一是 2
        System.out.println(days);

        //Java 8之后
        LocalDate date=LocalDate.of(2018,2,14);
        int dayOfWeek = date.get(ChronoField.DAY_OF_WEEK);
        System.out.println("这一天是星期"+dayOfWeek);
    }

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值