package A_ShangGuiGu.DateTimeTest;
import org.junit.Test;
import java.text.ParseException;
import java.text.SimpleDateFormat;
import java.util.Date;
/**
* 1.SimpleDateFormat
* 2.Calender
*/
public class DateTimeTest01 {
@Test
public void Test01() throws ParseException {
/*
SimpleDateFormat的使用:SimpleDateFormat对日期Date类的格式化和解析
1.两个操作:
1.1 格式化: 日期--》字符串
1.2 解析: 格式化的逆过程:字符串--》日期
2.SimpleDateFormat的实例化
*/
//实例化:使用默认的构造器。
SimpleDateFormat sdf = new SimpleDateFormat();
//格式化: 日期--》字符串 (需要调用.format方法)
Date date1 = new Date();//获取本地时间
System.out.println(date1);
String format = sdf.format(date1);
System.out.println(format);
//解析: 格式化的逆过程:字符串--》日期(需要调用.parse方法)
String str = "2000-01-12 上午12:30";
Date date2 = sdf.parse(str);
System.out.println(date2);
//******************************************
//格式化(需要调用.format方法)
SimpleDateFormat sdf2 = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
String date3 = sdf2.format(date1);
System.out.println(date3);
//解析:(需要调用.parse方法)
Date date4 = sdf2.parse(date3);
System.out.println(date4);
}
//将字符串"2020-12-12"转换为java.sql.Date类
@Test
public void test2() throws ParseException {
String str = "2020-12-12";
SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd");
Date date1 = sdf.parse(str);
java.sql.Date sqldate2 = new java.sql.Date(date1.getTime());
System.out.println(sqldate2);
}
//练习二:三天打鱼两天晒网,从2000-1-1开始,2020-12-12是在打鱼还是在晒网。
@Test
public void test3 () throws ParseException {
String str = "2000-1-1";
SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd");
Date date1 = sdf.parse(str);
long date1num = date1.getTime();
System.out.println(date1);
System.out.println("2000-1-1的时间戳:"+date1num);
String str2 = "2020-12-11";
Date date2 = sdf.parse(str2);
long date2num = date2.getTime();
System.out.println(date2);
System.out.println("2020-12-12的时间戳:"+date2num);
long date3num = date2num - date1num;
System.out.println("差距的时间戳:"+date3num);
long date4num = (date3num/86400000);
System.out.println("中间的天数:"+date4num);
long day = (date4num%5)+1;//+1的原因是输入的时间为0时0分0秒,正常情况下需要加一天
// System.out.println(day);
if (day==1||day==2||day==3){
System.out.println("打鱼中");
}else if (day==0||day==4){
System.out.println("晒网");
}
}
}