常用类14:SimpleDateFormat的练习

练习一:字符串"2022-02-05"转换为java.sql.Date

@Test

public void testExer()throws ParseException {

    String str ="2022-02-05";

    SimpleDateFormat sdf =new SimpleDateFormat("yyyy-MM-dd");

    Date date = sdf.parse(str);

    java.sql.Date sqlDate =new java.sql.Date(date.getTime());

    System.out.println(sqlDate);//2022-02-05

}

练习二:三天打鱼两天晒网,1990-01-01开始打渔,给出一个日期,输出当天是在打鱼还是晒网,如2022-02-05

思路:

计算总天数->总天数%5==1,2,3---打渔;总天数%5==4,0---晒网

计算总天数:

方式1:时间戳(毫秒数)两个date.getTime()之差/(1000*60*60*24) --->天

方式2:计算1990-01-01到2021-12-31的天数,在加上2022-01-01到2022-02-05的天数

方式一示例:

@Test

public void testExer2()throws ParseException {

    String startDateStr ="1990-01-01";

    String endDateStr ="2022-02-05";

    SimpleDateFormat sdf =new SimpleDateFormat("yyyy-MM-dd");

    long startDate = sdf.parse(startDateStr).getTime();

    long endDate = sdf.parse(endDateStr).getTime();

    int dayNum = (int) ((endDate - startDate)/(1000*60*60*24));//默认从0点开始,不需要加1

    int resultDate = dayNum %5;

    if(resultDate ==1 || resultDate ==2 || resultDate ==3){

        System.out.println(endDateStr +" 在打鱼");

   }else if(resultDate ==4 || resultDate ==0){

        System.out.println(endDateStr +" 在晒网");

    }

}

你可能感兴趣的:(常用类14:SimpleDateFormat的练习)