Java基礎18-日期類和日歷類
一、java.util.Date日期類
private Integer age;//員工年齡
private String hireDate;//入職時間
在系統中存儲的是員工的基本信息,包括了員工的年齡,此時使用Integer/int類型來表示年齡是不合理的
難道每年都得修改系統中員工的年齡遞增1?
1.類 Date 表示特定的瞬間,精確到毫秒。
Date類中有一個方法可以返回自1970年以來到現在的毫秒值,這就是getTime方法,是一個long類型的值
Date類中有很多過時的方法,但這些過時的方法中也有比較好用的,比如下邊這個
這個表示形式比較符合我們中國人的習慣
二、DateFormat格式化日期
格式化: Date類型對象--->String類型
解析:String類型時間---->Object類型
1.格式化日期類中的方法
2.格式化:Date類型對象--->String類型
3.解析:String類型時間---->Object類型
4.自定義日期模式
三、日歷類
1.常用方法
我們創建一個日歷對象
發現輸出了一大堆不是很好看懂的內容,這可怎麽辦呢?
2.這就要用到get方法,獲取時間字段值
3.如何添加和設置日期呢?
這就用到add和set方法
100天後是幾月幾號呢?
4.日歷類也可以轉化為日期
註意:在Calendar類中,月份的表示是以
案例1:
//計算起止時間
//查詢最近一周的信息,如何表示最近這一周
Date current =new Date(); //把當前時間作為日歷的時間 Calendar c3=Calendar.getInstance(); c3.setTime(current); //把日增加1天,再把時分秒設置為0 c3.add(Calendar.DAY_OF_MONTH, 1); c3.set(Calendar.HOUR_OF_DAY, 0);//時設置成0 c3.set(Calendar.MINUTE, 0);//分設置成0 c3.set(Calendar.SECOND, 0);//秒設置成0 Date endTime=c3.getTime(); c3.add(Calendar.DAY_OF_MONTH, -7); Date beginTime=c3.getTime(); System.out.println("開始時間="+beginTime.toLocaleString()); System.out.println("結束時間="+endTime.toLocaleString());
案例2:獲取自己出生到現在的天數
public static void main(String[] args){ Calendar my = Calendar.getInstance(); Calendar c = Calendar.getInstance(); //設置出生年月日 1995-05-10 my.set(Calendar.YEAR, 1995); my.set(Calendar.MONTH, 4); my.set(Calendar.DATE, 10); //獲取時間中的天數 int day = c.get(Calendar.DATE); int myDay = my.get(Calendar.DATE); System.out.println(day - myDay); }
案例3:求出距離某年某月某日還有多少天
public static void main(String[] args){ Calendar my = Calendar.getInstance(); Calendar c = Calendar.getInstance(); //設置年月日 2020-01-01 my.set(Calendar.YEAR, 2020); my.set(Calendar.MONTH, 0); my.set(Calendar.DATE, 1); //獲取時間中的天數 int day = c.get(Calendar.DATE); int myDay = my.get(Calendar.DATE); System.out.println(myDay - day); }
public static void main(String[] args){
Calendar my = Calendar.getInstance();
Calendar c = Calendar.getInstance();
//設置年月日 2020-01-01
my.set(Calendar.YEAR, 2020);
my.set(Calendar.MONTH, 0);
my.set(Calendar.DATE, 1);
//獲取時間中的天數
int day = c.get(Calendar.DATE);
int myDay = my.get(Calendar.DATE);
System.out.println(myDay - day);
}
Java基礎18-日期類和日歷類