JAVA常用API(Date、DateFormat、Calendar、System、Math、基本數據類型包裝類)


  注:本文所有內容均屬個人見解,如有錯誤望各位大佬好心指點批評,不勝感激

本章重點單詞:

  • parse:解析
  • format:格式化
  • pattern:模式
  • amount:數量
  • filed :領域

1.Date 類
構造方法:
  Date(); 獲取當前系統時間
  Date(long date); 獲取指定參數時間,從基准時間即1970-1-1 00:00:00 GMT以來的毫秒數
常用成員方法:
  long getTime();返回date對象對應的毫秒數
  void setTime();根據指定的毫秒數,修改時間

public class Test{
    public static void main(String[] args) {
        Date date = new Date();
        System.out.println("日期:"+date);
    }
}

  

2.DateFormat import java.text [抽象類]

  不能創建對象,因此由其子類來創建對象(SimpleDateFormat 構造方法 SimpleDateFormat(String patten)[給定的模式和默認語言環境])
解析:把字符串類型的時間->Date類型的:1970年1月1日00:00 00-》>Date
格式化:Date類型的時間->字符串類型的時間

成員方法:

  • Sting | ->Format(Date date):將Date格式化為字符串類型

  • Date  |    ->Date parse(String source);將字符串類型解析為Date日期類型(轉換時,該String要符合指定規則,否則不能轉換)

  ※ DateFormat作用:即可以將一個Date對象轉換為一個符合指定格式的字符串,也可以將一個符合指定格式的字符串轉換為一個Date對象

指定格式---->即SimpleDateFormat(String pattern)構造方法的形參;

 

public abstract class DateFormat extends Format
  /*DateFormat類是一個抽象類,其本身內部提供了可以直接為其實例化的操作。
  得到日期的DateFormat對象:
    public static final DateFormat getDateInstance()
  得到日期時間的DateFormat對象:
public static final DateFormat getDateTimeInstance()
直接使用DateFormat類完成Date類的轉換功能:*/
  public final String format(Date date)
import java.text.DateFormat ;
import java.util.Date ;
public class Test{
    public static void main(String args[]){
        DateFormat df1 = null ;        // 聲明一個DateFormat
        DateFormat df2 = null ;        // 聲明一個DateFormat
        df1 = DateFormat.getDateInstance() ;    // 得到日期的DateFormat對象
        df2 = DateFormat.getDateTimeInstance() ;    // 得到日期時間的DateFormat對象
        System.out.println("DATE:" + df1.format(new Date())) ; // 按照日期格式化
        System.out.println("DATETIME:" + df2.format(new Date())) ;     // 按照日期時間格式化

    }
};

 

  

 通過此類可以直接將Date類的顯示進行合理的格式化操作。此時采用的是默認的格式化操作,也可以通過Locale對象指定要顯示的區域。如指定的區域是中國:

import java.text.DateFormat ;
import java.util.Date ;
import java.util.Locale ;
public class Test{
    public static void main(String args[]){
        DateFormat df1 = null ;        // 聲明一個DateFormat
        DateFormat df2 = null ;        // 聲明一個DateFormat
        df1 = DateFormat.getDateInstance(DateFormat.YEAR_FIELD,new Locale("zh","CN")) ;    // 得到日期的DateFormat對象
        df2 = DateFormat.getDateTimeInstance(DateFormat.YEAR_FIELD,DateFormat.ERA_FIELD,new Locale("zh","CN")) ;    // 得到日期時間的DateFormat對象
        System.out.println("DATE:" + df1.format(new Date())) ; // 按照日期格式化
        System.out.println("DATETIME:" + df2.format(new Date())) ;     // 按照日期時間格式化

    }
};

  SimpleDateFormat類代碼:此類的功能是完成日期的顯示格式化的,例如,在開發中,可能會將一種日期格式變為另一種日期格式,如下所示:

import java.util.* ;
public class Test{
    public static void main(String args[]){
        String strDate = "2008-10-19 10:11:30.345" ;
        // 准備第一個模板,從字符串中提取出日期數字
        String pat1 = "yyyy-MM-dd HH:mm:ss.SSS" ;
        // 准備第二個模板,將提取后的日期數字變為指定的格式
        String pat2 = "yyyy年MM月dd日 HH時mm分ss秒SSS毫秒" ;
        SimpleDateFormat sdf1 = new SimpleDateFormat(pat1) ;        // 實例化模板對象
        SimpleDateFormat sdf2 = new SimpleDateFormat(pat2) ;        // 實例化模板對象
        Date d = null ;
        try{
            d = sdf1.parse(strDate) ;    // 將給定的字符串中的日期提取出來
        }catch(Exception e){            // 如果提供的字符串格式有錯誤,則進行異常處理
            e.printStackTrace() ;        // 打印異常信息
        }
        System.out.println(sdf2.format(d)) ;    // 將日期變為新的格式
    }
};

  

 

3.Calendar類 --表示日歷的類
  里面的方法基本 都是靜態方法,Calendar 又是抽象類,不能new,因此用靜態方法創建對象
創建對象:
  Calendar c = Calendar.getInstance(); //返回當前日歷對象
或者用子類創建對象:
  Calendar c = new GregorianCalendar();
成員方法:
  1.abstract void add(int field,int amout);根據字段名稱和偏移量,修改時間
  field字段值:Calendar.YEAR amout 偏移量
  2.int get (int field):返回日歷字段的值,
  3.Date getTime():返回一個表示此Calendar時間值的Date對象
  4.void set(int field,int value):將給定的日歷字段值設置為給定值
  5.void set(int year,int month,int date,int hourOfDay,int minute,int second)
  6.void setTime(Date date):
  在Calendar 類中,月份的表示以0-11 表示1-12月
西方的周日,中國的周一

public class Test{
    public static void main(String args[]){
        Calendar calendar = new GregorianCalendar();    // 實例化Calendar類對象
        System.out.println("YEAR: " + calendar.get(Calendar.YEAR));
        System.out.println("MONTH: " + (calendar.get(Calendar.MONTH) + 1));
        System.out.println("DAY_OF_MONTH: " + calendar.get(Calendar.DAY_OF_MONTH));
        System.out.println("HOUR_OF_DAY: " + calendar.get(Calendar.HOUR_OF_DAY));
        System.out.println("MINUTE: " + calendar.get(Calendar.MINUTE));
        System.out.println("SECOND: " + calendar.get(Calendar.SECOND));
        System.out.println("MILLISECOND: " + calendar.get(Calendar.MILLISECOND));
    }
};
//注:在取得月份的時候要特別注意,需要加1。
 // 如果按照此方法取得,則很麻煩,最好的做法是將Date進行一些相關的格式化操作。

  

4.System 類
  其構造方法為Final類型因此一般不會創建對象,並且成員方法一般為靜態方法

  •  currentTimeMillis() 獲取當前系統時間與1970年01月01日00:00點之間的毫秒差值
  •  exit(int status) 用來結束正在運行的Java程序。參數傳入一個數字即可。通常傳入0記為正常狀態,其他為異常狀態
  •  gc() 用來運行JVM中的垃圾回收器,完成內存中垃圾的清除。
  •  getProperty(String key) 用來獲取指定鍵(字符串名稱)中所記錄的系統屬性信息

5.Math 類
  數學的類,用來進行基本的數學運算的.


static int abs(int a)
static double ceil(double a)
static double floor(double a)
static double max(int a, int b)
static int min(int a, int b)
static double pow(double a, double b)
static long round(double a)

6.基本數據包裝類型    

  可以把基本類型轉成對象,也可以把對象轉成基本類型,也可以基本數據類型轉成字符串
1.把基本類型轉成對象
  包裝類的構造方法:Interger inter = new Integer(50);
2.把對象轉成基本數據類型
  包裝類對象的方法:inter.intValue();
3.把基本數據類型轉成字符串
  包裝類的方法:inter.toString();
4.把字符串轉成基本數據類型,

  [parsenXXX]一般為靜態方法,因此直接用類名訪問[parse:解析]
包裝類的方法:Integer.parseInt("1234");
5.把基本數據類型轉成包裝類型
  包裝類的方法:Integer.valueOf(55);

  • 自動裝箱:把基本類型的數據,自動轉換成 包裝類型的對象;

 

  • 自動拆箱:把包裝類型的對象 自動 轉成 基本類型的數據;

 

 

總結:

Date類雖然直接取出的時間格式並不十分理想,但其作用依然很大

通過Calendar類可以完整的取得時間

DateFormat可以直接使用,但其本身是一個抽象類,可以根據Locale指定的區域不同得到不同的日期時間顯示效果

SimpleDateFormat類是DateFormat類的子類,一般情況下來講DateFormat類很少會直接使用,而都是使用SimpleDateFormat類完成。

 

   部分代碼來自@閑來垂釣

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM