一、Date
Date表示特定的瞬间,精确到毫秒。Date类中的大部分方法都已经被Calendar类中的方法所取代。
import java.util.Date;
public class DateDemo {
public static void main(String[] args) {
//1.创建一个Date对象
//无参构造 - 当前的时间
Date currTime = new Date();
System.out.println(currTime.toString());
//有参构造 - 昨天的时间(当前的时间减去一天的时间)
Date yestTime = new Date(currTime.getTime() - 24*60*60*1000);
System.out.println(yestTime.toString());
//2.after和before方法 - 今天在昨天之前/之后
System.out.println(currTime.after(yestTime));
System.out.println(currTime.before(yestTime));
//3.compareTo - 比较大小 currTime大于yestTime则返回1;小与返回-1;等于返回0
System.out.println(currTime.compareTo(yestTime));
//4.equals - 比较是否相等
System.out.println(currTime.equals(yestTime));
}
}
二、Calendar
Calendar提供了获取或设置各种日历字段的方法。
构造方法 - protected Calendar() - 由于修饰符是protected,所以无法直接创建该对象
import java.util.Calendar;
public class CalendarDemo {
public static void main(String[] args) {
//1.创建Calendar对象
Calendar calendar = Calendar.getInstance();
System.out.println(calendar.getTime().toLocaleString());
System.out.println(calendar.getTimeInMillis());
//2.获取时间信息
int year = calendar.get(Calendar.YEAR);//获取年
int month = calendar.get(Calendar.MONTH);//获取月
int day = calendar.get(Calendar.DAY_OF_MONTH);//获取日
int hour = calendar.get(Calendar.HOUR_OF_DAY);//获取时(HOUR-12小时;HOUR_OF_DAY-24小时)
int minute = calendar.get(Calendar.MINUTE);
int second = calendar.get(Calendar.SECOND);
System.out.println(year + "年" + month + "月" + day + "日" + hour + ":" + minute + ":" + second);
//3.修改时间
Calendar calendar2 = Calendar.getInstance();
calendar2.set(Calendar.DAY_OF_MONTH, 5);
System.out.println(calendar2.getTime().toLocaleString());
//4.add方法修改时间 +1小时/-1小时
calendar2.add(Calendar.HOUR, 1);
System.out.println(calendar2.getTime().toLocaleString());
calendar2.add(Calendar.HOUR, -1);
System.out.println(calendar2.getTime().toLocaleString());
//5.补充方法 - 获取当前月的最大和最小日期
int max = calendar2.getActualMaximum(Calendar.DAY_OF_MONTH);
int min = calendar2.getActualMinimum(Calendar.DAY_OF_MONTH);
System.out.println(max);
System.out.println(min);
}
}
三、SimpleDateFormat
import java.text.SimpleDateFormat;
import java.util.Date;
public class SimpleDateFormatDemo {
public static void main(String[] args) throws Exception{
//1.创建SimpleDateFormat对象 y 年 m 月
SimpleDateFormat sdf = new SimpleDateFormat("yyyy年MM月dd日 HH:mm:ss");
//2.创建Date
Date date = new Date();
//格式化date(把日期转成字符串)
String str = sdf.format(date);
System.out.println(str);
//解析(把字符串转成日期)
Date date2 = sdf.parse("1990年7月29日 23:10:12");
System.out.println(date2);
}
}
知识点总结自bilibili(Java学习营)视频链接