常用类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 +" 在晒网");

    }

}

©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

友情链接更多精彩内容