Date和Calendar类
结构
Date
package JAVA.api.DateAndCalendar_test;
import java.util.Date;
public class Date_test {
public static void main(String[] args) {
//测试Date类
//测试空槽构造 采取当前操作系统默认时间
Date date1 = new Date();
System.out.println(date1);
//获取当前操作系统时候的毫秒值
long time=date1.getTime();
System.out.println(time);
//Sat Jul 18 13:11:03 CST 2020--->1595049063291
//创建一个指定的时间
Date date2 = new Date(1595049163922L);
System.out.println(date2);
//1595049063291-------->Sat Jul 18 13:11:03 CST 2020
}
}
Calendar
package JAVA.api.DateAndCalendar_test;
import java.util.Calendar;
//
public class Calendar_test {
public static void main(String[] args) {
//Calendar类是一个抽象类 Calendar.getInstance()是静态方法意思是获取实例 可以直接调用 为了创建Calendar这个类
Calendar c = Calendar.getInstance();
System.out.println(c);
//获取年月日 封装了YEAR和MONTH DATE的属性 要用get来获取 用set来设置 来获取对应字段的信息 只用Calendar.YEAR这个静态属性是不行的
//例子 这里的MONTH字段的前缀 public static final int MONTH
int YEAR=c.get(Calendar.YEAR);
int MONTH=c.get(Calendar.MONTH);//java里的月份是0到11月
int DATE=c.get(Calendar.DATE);
System.out.println(YEAR+"年"+MONTH+"月"+DATE+"日");
//自定义日历c.set(Calendar.YEAR,2222);
c.set(Calendar.YEAR,2222);
c.set(Calendar.MONTH,2);
c.set(Calendar.DATE,22);
//更加简便的写法set(year,month,date)
c.set(2222,2,2);
int YEAR2=c.get(Calendar.YEAR);
int MONTH2=c.get(Calendar.MONTH);//java里的月份是0到11月
int DATE2=c.get(Calendar.DATE);
System.out.println(YEAR2+"年"+MONTH2+"月"+DATE2+"日");
}
}
总结
Date类型使用上非常简单 但是局限性太大了 用毫秒去自定义时间非常不方便
Calendar类型使用上会比Date要麻烦 但是灵活性和可读性上要比Date类型更加好