日韩黑丝制服一区视频播放|日韩欧美人妻丝袜视频在线观看|九九影院一级蜜桃|亚洲中文在线导航|青草草视频在线观看|婷婷五月色伊人网站|日本一区二区在线|国产AV一二三四区毛片|正在播放久草视频|亚洲色图精品一区

分享

Java基礎(chǔ):Java操作日期的工具類總結(jié)

 pengx 2009-01-16
總結(jié)一些常用到的函數(shù)可以直接在你的應(yīng)用程序中調(diào)用就可以了!方便。我在網(wǎng)上找了些有的用不了。

   /**  
    *   以指定的格式來(lái)格式化日期       
    *   @param   date   Date  
    *   @param   format   String  
    *   @return   String  
    */  
  public   String   formatDateByFormat(java.util.Date   date,String   format)  
  {  
          String   result   =   "";  
          if(date   !=   null)  
          {  
                  try  
                  {  
                          SimpleDateFormat   sdf   =   new   SimpleDateFormat(format);  
                          result   =   sdf.format(date);  
                  }  
                  catch(Exception   ex)  
                  {  
                          ex.printStackTrace();  
                  }  
          }  
          return   result;  
  }
    /** 
     *   常用的格式化日期 
     * 
     *   @param   date   Date 
     *   @return   String 
     */ 
   public   String   formatDate(java.util.Date   date) 
   { 
           return   formatDateByFormat(date,"yyyy-MM-dd"); 
   }

    直接在主方法中調(diào)用這個(gè)方法就可以生成我們所想要的日期格式了哦!方便使用的!

    java.util 類 Calendar好像這個(gè)類的功能相當(dāng)?shù)貜?qiáng)大,我查了一下JDK參考文檔摘錄如下重要信息:

    Calendar 提供了一個(gè)類方法 getInstance,以獲得此類型的一個(gè)通用的對(duì)象。Calendar 的 getInstance 方法返回一個(gè) Calendar 對(duì)象,其日歷字段已由當(dāng)前日期和時(shí)間初始化:

    Calendar rightNow = Calendar.getInstance();//類方法

    可以通過(guò)調(diào)用 set 方法來(lái)設(shè)置日歷字段值。在需要計(jì)算時(shí)間值(距歷元所經(jīng)過(guò)的毫秒)或日歷字段值之前,不會(huì)解釋 Calendar 中的所有字段值設(shè)置。調(diào)用 get、getTimeInMillis、getTime、add 和 roll 涉及此類計(jì)算。

    會(huì)了這個(gè)方法之后的方法如下:

       /** 
        *   返回年份 
        *   
        *   @param   date 
        *                         日期 
        *   @return   返回年份 
        */ 
      public   static   int   getYear(java.util.Date   date)   { 
      java.util.Calendar   c   =   java.util.Calendar.getInstance(); 
      c.setTime(date); 
      return   c.get(java.util.Calendar.YEAR); 
      }  
賦值一個(gè)java.util.Date  對(duì)象給它當(dāng)參數(shù)就可以得到當(dāng)前的年份了。
/** 
        *   返回月份 
        *   
        *   @param   date 
        *                         日期 
        *   @return   返回月份 
        */ 
      public   static   int   getMonth(java.util.Date   date)   { 
      java.util.Calendar   c   =   java.util.Calendar.getInstance(); 
      c.setTime(date); 
      return   c.get(java.util.Calendar.MONTH)   +   1; 
      }  
得到1月份為1哦。因?yàn)槲壹恿?哈哈。
/** 
        *   返回日份 
        *   
        *   @param   date 
        *                         日期 
        *   @return   返回日份 
        */ 
      public   static   int   getDay(java.util.Date   date)   { 
      java.util.Calendar   c   =   java.util.Calendar.getInstance(); 
      c.setTime(date); 
      return   c.get(java.util.Calendar.DAY_OF_MONTH); 
      } 
可以返回是幾號(hào)出來(lái)了哦!
/**  
    *   返回小時(shí)  
    *    
    *   @param   date  
    *                         日期  
    *   @return   返回小時(shí)  
    */  
  public   static   int   getHour(java.util.Date   date)   {  
  java.util.Calendar   c   =   java.util.Calendar.getInstance();  
  c.setTime(date);  
  return   c.get(java.util.Calendar.HOUR_OF_DAY);  
  }  
   
  /**  
    *   返回分鐘  
    *    
    *   @param   date  
    *                         日期  
    *   @return   返回分鐘  
    */  
  public   static   int   getMinute(java.util.Date   date)   {  
  java.util.Calendar   c   =   java.util.Calendar.getInstance();  
  c.setTime(date);  
  return   c.get(java.util.Calendar.MINUTE);  
  }  
   
  /**  
    *   返回秒鐘  
    *    
    *   @param   date  
    *                         日期  
    *   @return   返回秒鐘  
    */  
  public   static   int   getSecond(java.util.Date   date)   {  
  java.util.Calendar   c   =   java.util.Calendar.getInstance();  
  c.setTime(date);  
  return   c.get(java.util.Calendar.SECOND);  
  }

    DAY_OF_WEEK_IN_MONTH get 和 set 的字段數(shù)字,指示當(dāng)前月中的第幾個(gè)星期。

    可以指定今天是當(dāng)前月的第幾個(gè)星期哦!

    我試了一下今天是當(dāng)前月的第2周哈哈正確!

    DAY_OF_WEEK get 和 set 的字段數(shù)字,指示一個(gè)星期中的某天。

    我相信這個(gè)屬性會(huì)對(duì)我有幫助的哦!

public   static   int   getDay(java.util.Date   date)   { 
      java.util.Calendar   c   =   java.util.Calendar.getInstance(); 
      c.setTime(date); 
      return   c.get(java.util.Calendar.DAY_OF_WEEK);  
      } 

    我直接調(diào)用這個(gè)方法可以得到  今天是周三  返回的是4   因?yàn)槭侵苋帐菑?開(kāi)始的哦!

    OK,我現(xiàn)在想了解一下  當(dāng)你輸入:2008年5月第一周是從哪號(hào)到哪號(hào)的
OK,現(xiàn)在來(lái)分析一下當(dāng)用戶輸入2008年5月份第一周是從幾號(hào)到幾號(hào)的問(wèn)題了!

    第一步:得到今天是哪年哪月哪號(hào)哪周都沒(méi)有問(wèn)題了。

    第二步:確定2008年5月份的一號(hào)是周幾?

    WEEK_OF_YEAR get 和 set 的字段數(shù)字,指示當(dāng)前年中的星期數(shù)。

    可以確定今天是這一年中的第幾周哦哈哈。太強(qiáng)大了這個(gè)類

Calendar cal = Calendar.getInstance();
int month=cal.getActualMaximum(Calendar.DAY_OF_MONTH);

    此方法可以得到當(dāng)前月份的天數(shù)哦。非常地好用  而且我在潤(rùn)年與平年的時(shí)候進(jìn)行比較處理了發(fā)現(xiàn)能夠準(zhǔn)確得到天數(shù)哦!

     //獲得周一的日期  
       public static String getMonday(Date date){  
       Calendar c = Calendar.getInstance();  
        c.setTime(date);  
        c.set(Calendar.DAY_OF_WEEK,Calendar.MONDAY);  
        return new SimpleDateFormat("yyyy-MM-dd").format(c.getTime());  
      }

    這個(gè)方法可以得到當(dāng)前月份的周一的日

    OK!剛剛在網(wǎng)上找了一份非常不錯(cuò)的代碼現(xiàn)在整理如下:

/**下面的方法可以通過(guò)一個(gè)字符串構(gòu)造出來(lái)一個(gè)Date類型的數(shù)據(jù)出來(lái)!*/
public static Date strToDateLong(String strDate) {
       SimpleDateFormat formatter = new SimpleDateFormat("yyyy-MM-dd");
       ParsePosition pos = new ParsePosition(0);
       Date strtodate = formatter.parse(strDate, pos);
       return strtodate;
    }
/**既然能夠構(gòu)造出來(lái)指定日期的時(shí)間變量那現(xiàn)在來(lái)分析一下指定某天與當(dāng)天的時(shí)間差吧!*/
/**
* 得到二個(gè)日期間的間隔天數(shù)
*/
    public static String getTwoDay(String sj1, String sj2) {
       SimpleDateFormat myFormatter = new SimpleDateFormat("yyyy-MM-dd");
       long day = 0;
       try {
         java.util.Date date = myFormatter.parse(sj1);
         java.util.Date mydate = myFormatter.parse(sj2);
         day = (date.getTime() - mydate.getTime()) / (24 * 60 * 60 * 1000);
        } catch (Exception e) {
         return "";
      }
        return day + "";
     }

    我在代碼中實(shí)現(xiàn)了可以發(fā)現(xiàn)結(jié)果是正確 的哦!

    而且是能夠判斷出來(lái)潤(rùn)年與否的哦。方便得多了哦!

    OK!

/**通過(guò)這樣子我們可以構(gòu)造出來(lái)一個(gè)類似這種字符串類型的時(shí)間出來(lái)的哦!*/
    public static Date strToDate(String strDate) {
       SimpleDateFormat formatter = new SimpleDateFormat("yyyy-MM-dd");
       ParsePosition pos = new ParsePosition(0);
       Date strtodate = formatter.parse(strDate, pos);
       return strtodate;
     }
   
      /**
       * 獲得一個(gè)日期所在的周的星期幾的日期,如要找出2002年2月3日所在周的星期一是幾號(hào)
       *
       * @param sdate  所確定的日期形式2009-01-01
       * @param num    要確定的是周幾(1表示周一2表示周二)
       * @return
       */
      public static String getWeek(String sdate, String num) {
       // 再轉(zhuǎn)換為時(shí)間
       Date dd = VeDate.strToDate(sdate);
       Calendar c = Calendar.getInstance();
       c.setTime(dd);
       if (num.equals("1")) // 返回星期一所在的日期
       c.set(Calendar.DAY_OF_WEEK, Calendar.MONDAY);
       else if (num.equals("2")) // 返回星期二所在的日期
        c.set(Calendar.DAY_OF_WEEK, Calendar.TUESDAY);
       else if (num.equals("3")) // 返回星期三所在的日期
        c.set(Calendar.DAY_OF_WEEK, Calendar.WEDNESDAY);
       else if (num.equals("4")) // 返回星期四所在的日期
        c.set(Calendar.DAY_OF_WEEK, Calendar.THURSDAY);
       else if (num.equals("5")) // 返回星期五所在的日期
        c.set(Calendar.DAY_OF_WEEK, Calendar.FRIDAY);
       else if (num.equals("6")) // 返回星期六所在的日期
        c.set(Calendar.DAY_OF_WEEK, Calendar.SATURDAY);
       else if (num.equals("0")) // 返回星期日所在的日期
       c.set(Calendar.DAY_OF_WEEK, Calendar.SUNDAY);
       return new SimpleDateFormat("yyyy-MM-dd").format(c.getTime());
      }

    本站是提供個(gè)人知識(shí)管理的網(wǎng)絡(luò)存儲(chǔ)空間,所有內(nèi)容均由用戶發(fā)布,不代表本站觀點(diǎn)。請(qǐng)注意甄別內(nèi)容中的聯(lián)系方式、誘導(dǎo)購(gòu)買(mǎi)等信息,謹(jǐn)防詐騙。如發(fā)現(xiàn)有害或侵權(quán)內(nèi)容,請(qǐng)點(diǎn)擊一鍵舉報(bào)。
    轉(zhuǎn)藏 分享 獻(xiàn)花(0

    0條評(píng)論

    發(fā)表

    請(qǐng)遵守用戶 評(píng)論公約