1.java8之前的时间主要的类,包含两个,java.util.Date,java.sqlDate
2.基本使用
package com.yl.pdfdemo.day08.p1;
import org.junit.Test;
import java.util.Date;
/**
* @Author wfj
* @Date 2021/5/12
* @Description java中的两个时间类:java.util.Date、java.sql.Date
* @Version 1.0
*/
public class DateTimeTest {
@Test
public void test1() {
//一般我们都是使用java.util包下的Date
Date date = new Date();//获取系统当前时间
System.out.println(date.toString());
long time = date.getTime();//当前时间对应的毫秒数
System.out.println(time);
Date date1 = new Date(1620813247797L);
System.out.println(date1.toString());
//java.util.Date与java.sql.Date的转换
Date date2 = new Date();
java.sql.Date date3 = new java.sql.Date(date2.getTime());
System.out.println(date3.toString());
}
}
3.使用simpleDateFormat进行格式化或者解释,以及说明Calender日历类的基本使用
package com.yl.pdfdemo.day08.p1;
import org.junit.Test;
import java.text.ParseException;
import java.text.SimpleDateFormat;
import java.util.Calendar;
import java.util.Date;
/**
* @Author wfj
* @Date 2021/5/21
* @Description jdk8之前的时间Api
* @Version 1.0
*/
public class DateTimeTest2 {
/**
* SimpleDateFormat的使用,对日期进行格式化,或者解析
*/
@Test
public void testSimpleDateFormat() {
//实例化对象,使用默认的构造器
SimpleDateFormat simpleDateFormat = new SimpleDateFormat();
//格式化:日期 => 字符串
Date date = new Date();
System.out.println(date);
String str = simpleDateFormat.format(date);
System.out.println(str);
//解析:字符串 => 日期
String str1 = "20-05-20 上午05:20";
try {
Date date1 = simpleDateFormat.parse(str1);
System.out.println(date1);
} catch (ParseException e) {
e.printStackTrace();
}
//实例化对象,使用带参数的构造器
SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
String s2 = sdf.format(date);
System.out.println(s2);
//格式必须符合sdf构造器里的参数一样
String s3 = "2020-05-20 05:20:00";
try {
Date date2 = sdf.parse(s3);
System.out.println(date2);
} catch (ParseException e) {
e.printStackTrace();
}
}
/**
* 字符串和"2011-11-11"转成java.sql.Date
*/
@Test
public void test() {
String date = "2011-11-11";
SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd");
try {
Date date1 = sdf.parse(date);
java.sql.Date date2 = new java.sql.Date(date1.getTime());
System.out.println(date2);
} catch (ParseException e) {
e.printStackTrace();
}
}
/**
* Calendar(抽象类)的使用
*/
@Test
public void test1() {
/**
* 特别地:要注意,获取月份时,一月是0,二月是1,依此类推,获取星期时,周日是1,周一是2,。。。周六是7
*/
//1.实例化
//方式一:创建其子类(GregorianCalendar)
//方式二:调用其子类
Calendar calendar = Calendar.getInstance();
//常用方法
//get()
//这个月的第几天
int day = calendar.get(Calendar.DAY_OF_MONTH);
System.out.println(day);
//这一年的第几天
int day1 = calendar.get(Calendar.DAY_OF_YEAR);
System.out.println(day1);
//set()
//设置天数
calendar.set(Calendar.DAY_OF_MONTH,20);
int day2 = calendar.get(Calendar.DAY_OF_MONTH);
System.out.println(day2);
//add()
//添加天数
calendar.add(Calendar.DAY_OF_MONTH,-3);
int day3 = calendar.get(Calendar.DAY_OF_MONTH);
System.out.println(day3);
//getTime()
//日历类 => Date
Date date = calendar.getTime();
System.out.println(date);
//setTime()
//Date => 日历类
calendar.setTime(date);
int day4 = calendar.get(Calendar.DAY_OF_MONTH);
System.out.println(day4);
}
}