本文全文参考https://www.bilibili.com/video
1.java.lang.System类
- System类提供的 public static native long currentTimeMillis(); 用来返回当前时间与 1970年1月1日0时0份0秒之间以毫秒为单位的时间差。
long l = System.currentTimeMillis();
2.java.util.Date类
java.sql.Date 对应着数据库中的日期类型的变量
- 如何将java.util.Date对象转换成java.sql.Date对象
java.util.Date date = new java.sql.Date(1584944309987L);
3.java.text.SimpleDataFormat类
Date date = new Date();
// 初始化
SimpleDateFormat simpleDateFormat = new SimpleDateFormat("yyyy-MM-dd hh:mm:ss");
// 格式化
String s = simpleDateFormat.format(date);
System.out.println(s);
// 解析:字符串->日期
Date parse = simpleDateFormat.parse(s);
System.out.println(parse);
练习一:字符串"2020-09-08"转换为java.sql.Date
// 字符串"2020-09-08"转换为java.sql.Date
String s = new String("2020-09-08");
SimpleDateFormat simpleDateFormat = new SimpleDateFormat("yy-MM-dd");
Date date = simpleDateFormat.parse(s);
java.sql.Date sDate = new java.sql.Date(date.getTime());
System.out.println(sDate);
练习二:“三天打渔两天晒网” 1990-01-01 xxxx-xx-xx 打渔?晒网?
public void test01(String str1, String str2) throws ParseException {
SimpleDateFormat simpleDateFormat = new SimpleDateFormat("yy-MM-dd");
Date date1 = simpleDateFormat.parse(str1);
Date date2 = simpleDateFormat.parse(str2);
int i = (int) ((date1.getTime() - date2.getTime()) / (1000 * 60 * 60 * 24) + 1);
switch (i % 5) {
case 1:
System.out.println("打渔");
break;
case 2:
System.out.println("打渔");
break;
case 3:
System.out.println("打渔");
break;
case 4:
System.out.println("晒网");
break;
case 0:
System.out.println("晒网");
break;
}
}
4.Calendar类:日历类、抽象类
4.1.实例化
//方式一:创建其子类(GregorianCalendar的对象
//方式二:调用其静态方法getInstance()
Calendar calendar = Calendar.getInstance();
4.2.常用方法
//get()
int days = calendar.get(Calendar.DAY_OF_MONTH);
System.out.println(days);
System.out.println(calendar.get(Calendar.DAY_OF_YEAR));
//set()
//calendar可变性
calendar.set(Calendar.DAY_OF_MONTH,22);
days = calendar.get(Calendar.DAY_OF_MONTH);
System.out.println(days);
//add()
calendar.add(Calendar.DAY_OF_MONTH,-3);
days = calendar.get(Calendar.DAY_OF_MONTH);
System.out.println(days);
//getTime():日历类---> Date
Date date = calendar.getTime();
System.out.println(date);
//setTime():Date ---> 日历类
Date date1 = new Date();
calendar.setTime(date1);
days = calendar.get(Calendar.DAY_OF_MONTH);
System.out.println(days);