”三天打鱼两天晒网“2010-01-23号开始 2020-05-20在打鱼还是在晒网

package com.atguigu.java;

import org.junit.Test;

import java.text.ParseException;
import java.text.SimpleDateFormat;
import java.util.Date;

/**
 * @author luoyang QQ1845313665
 * @date 2020-05-20
 */
public class DateJunTest {

    /**
     * "三天打鱼两天晒网" 2010-01-23号开始   2020-05-20在打鱼还是在晒网
     *
     *     练习二:"三天打渔两天晒网"   1990-01-01  xxxx-xx-xx 打渔?晒网?
     *
     *     举例:2020-05-20 ? 总天数
     *
     *     总天数 % 5 == 1,2,3 : 打渔
     *     总天数 % 5 == 4,0 : 晒网
     *
     *     总天数的计算?
     *     方式一:( date2.getTime() - date1.getTime()) / (1000 * 60 * 60 * 24) + 1
     */
    @Test
    public void testFish() throws ParseException {
        String date1 = "2010-01-23";
        String date2 = "2020-05-20";

        SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd");
//        SimpleDateFormat sdf1 = new SimpleDateFormat("yyyy-MM-dd hh:mm:ss");

        //解析转换为Date类对象
        Date date11 = sdf.parse(date1);
        Date date22 = sdf.parse(date2);
        
        
        //当前时间,换算成自定义时间格式输入(扩展内容,与本题无关)
//        Date date3 = new Date();
//        String date33 = sdf1.format(date3);
//        System.out.println(date33);

        int numDate = (int) ((date22.getTime()-date11.getTime())/(1000 * 60 * 60 * 24)) + 1;

        System.out.println("总天数: " + numDate);

        if(numDate % 5 == 1 || numDate % 5 == 2 || numDate % 5 == 3){
            System.out.println(date2 + ",渔夫今天在打鱼。");
        }else if(numDate % 5 == 4 || numDate % 5 == 0 ){
            System.out.println(date2 + ",渔夫今天在打鱼。");
        }else{
            System.out.println(date2 + ",不知道渔夫今天在干嘛!!!");
        }

    }

    /**
     * 运行结果为:
     *
     * 总天数: 3771
     * 2020-05-20,渔夫今天在打鱼。
     *
     */

}

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章