1. 程式人生 > 實用技巧 >Java基礎_Calendar類和System類

Java基礎_Calendar類和System類

Calendar類

  java.util.Calendar 日曆類,抽象類,在Date類後出現的,替換掉了很多Date類中的方法。該類將所有的可能用到的時間資訊封裝為靜態成員變數,通過類名.靜態成員變數獲取時間欄位值

獲取方式:

  Calendar類是一個抽象類,Calendar類並不是直接建立物件來獲取時間屬性值,而是通過靜態方法建立,返回子類物件。

import java.util.Calendar;
pubic class Demo01Calendar {
    public static void main(String[] args) {
        Calendar calendar 
= Calendar.getInstance();// 獲取一個日曆的物件 } }
  • public int get(int field):獲取給定的日曆欄位值

  • public void set(int field,int value):將給定的欄位設定為給定的值

  • public abstract void add(int field,int amount):根據日曆規則,將給定的日曆欄位新增或者減少指定的時間值

  • public Date getTime():把日曆物件轉換成日期物件

  • public long getTimeInMillis():獲取日曆物件對應的毫秒值

欄位值含義
YEAR
MONTH 月份
DATE 月中的某一天(幾號)
DAY_OF_MONTH 月中的第幾天
HOUR 時(12小時制)
HOUR_OF_DAY 時(24小時制)
MINUTE
SECOND
DAY_OF_WEEK 一週中的第幾天(周幾,週日為1)

月份後面+1,因為月是從0開始

Calendar cl= Calendar.getInstance();
cl.set(1990,2,3);
int y = cl.get(Calendar.YEAR);
int m = cl.get(Calendar.MONTH) + 1;
int d = cl.get(Calendar.DATE); System.out.println(y+"年"+m+"月"+d+"日");//1990年3月3日 int time = cl.get(Calendar.DAY_OF_YEAR);//當前時間是一年中的第幾天 System.out.println(time);

System類:

  java.lang.System類中提供了大量的靜態方法,主要是用來獲取與系統相關的資訊或者是進行系統級操作。

  是final類

  public static long currentTimeMills(): 獲取當前系統時間對應的毫秒值

  public static void arraycopy(Object src,int srcPos,Object dest,int destPos,int length):將陣列中指定的資料拷貝到另一個數組當中

currentTimeMills()方法 :實際上,它獲取到的是距1970年1月1日 0時0分0秒到當前時間的毫秒差值

arraycopy()方法: 集合中remove方法底層程式碼有用到此方法

​ 將一個數組當中的元素複製到另一個數據當中,陣列的拷貝動作是一個系統級的操作,效能比較高。

arraycopy方法當中涉及到5個引數:

引數列表引數名稱引數型別引數含義
1 src Object 源陣列
2 srcPos int 源陣列索引的起始位置
3 dest Object 目標陣列
4 destPos int 目標陣列索引的起始位置
5 length int 複製元素的個數