练习一:字符串"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 +" 在晒网");
}
}