java最全時間類及用法,java時間類用法

來源:互聯網
上載者:User

java最全時間類及用法,java時間類用法

  對於時間類,這篇主要說明各種現實情況下如何取值,怎麼定向取值,得到自己想要的時間參數。在java中時間類主要有Date、Calendar,暫時只介紹 java.util.*下的時間類,對於java.sql.*下的先不做介紹,以後在另外一篇進行補充。

  首先,我們需要瞭解API下對其的介紹,讓在使用的時候明白為什麼這麼寫?而不是簡單的複製粘貼應付差事。

  對於Date,很多方法已經過時遷移到了Calendar類上,但是這是最初的時間類,構造方法主要介紹兩種即

    Date date= new Date();//指派至並初始話

    Date date= new Date(long date)//分配 Date 對象並初始化此對象,以表示自從標準基準時間(稱為“曆元(epoch)”,即 1970 年 1 月 1 日00:00:00 GMT)以來的指定毫秒數。

  可以看得出來,Date是以曆元為標準的,簡單的驗證下你的猜想。new Date().getYear() 的值是  117 然而今年是 2017 。

  對於Calendar,與Date不同的是,他對Date的時間曆元進行位移,要是看括弧裡的有點暈可不看。API(Calendar 類是一個抽象類別,它為特定瞬間與一組諸如 YEAR、MONTH、DAY_OF_MONTH、HOUR 等 日曆欄位之間的轉換提供了一些方法,並為操作日曆欄位(例如獲得下星期的日期)提供了一些方法。瞬間可用毫秒值來表示,它是距曆元(即格林威治標準時間 1970 年 1 月 1 日的 00:00:00.000,格里高利曆)的位移量)。

  Calendar不得不說的就是類方法 getInstance,Calendar 的 getInstance 方法返回一個 Calendar 對象,其日曆欄位已由當前日期和時間初始化: 

              Calendar rightNow = Calendar.getInstance();

  這個方法你必須要知道,不然你玩什麼Calendar呢是不是?

好了下面我們介紹各種現實需要處理的,也肯定是你進入部落格要找的。

x//如何擷取目前時間參數,按yyyy-MM-dd hh:mm:ss 、yyyy-MM-dd、yyyy-MM-dd hh:mm 、yyyyMMdd等等各種情況,這個你們需要什麼自己改代碼。    

    public static String getCurrentTime() {Date NowDate = new Date();SimpleDateFormat formatter =new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");CurrentTime = formatter.format(NowDate);return CurrentTime;}

   

  //如何擷取某一個月的第一天和最後一天,第一天肯定容易,最後一天其實也很容易,主要用到了Calendar和SimpleDateFormat兩個類,需要注意的是月份按0---11總共十二個月,不是從1開始的,但是一個月幾號第幾天卻是從1開始的,以下是對兩個方法進行的封裝,測試結果見圖。

    public static String getLastDayOfMonth(int year, int month) {             Calendar cal = Calendar.getInstance();             cal.set(Calendar.YEAR, year);             cal.set(Calendar.MONTH, month);             cal.set(Calendar.DAY_OF_MONTH,cal.getActualMaximum(Calendar.DATE));         return  new   SimpleDateFormat( "yyyy-MM-dd ").format(cal.getTime());      }       public static String getFirstDayOfMonth(int year, int month) {             Calendar cal = Calendar.getInstance();             cal.set(Calendar.YEAR, year);             cal.set(Calendar.MONTH, month);          cal.set(Calendar.DAY_OF_MONTH,cal.getMinimum(Calendar.DATE));         return   new   SimpleDateFormat( "yyyy-MM-dd ").format(cal.getTime());      }

     //如何擷取當月月份,當年年份,當前日期?較為簡單不做測試。

       /*擷取當日日期*/
    public static String getCurrentDay() {java.util.Date NowDate = new java.util.Date();SimpleDateFormat formatter = new SimpleDateFormat("dd");return formatter.format(NowDate);}     /*擷取當月月份*/ public static String getCurrentMonth() {java.util.Date NowDate = new java.util.Date();SimpleDateFormat formatter = new SimpleDateFormat("MM");return formatter.format(NowDate);}    /*擷取當前年份*/ public static String getCurrentYear() {java.util.Date NowDate = new java.util.Date();SimpleDateFormat formatter = new SimpleDateFormat("yyyy");return formatter.format(NowDate);}

 

  本來想繼續總結的,今天先到這裡,要加班了

 

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.