posts - 14,comments - 11,trackbacks - 0

            取一個(gè)月的最后一天,一個(gè)非常愚蠢的方法:
                           Calendar MonthEnd=Calendar.getInstance();
                           MonthEnd.clear(); 
                           MonthEnd.set(Calendar.YEAR, Integer.parseInt(year));
                           MonthEnd.set(Calendar.MONTH,Integer.parseInt(month));   
             //寫本月的數(shù)字實(shí)際上返回的是下個(gè)月
                           MonthEnd.set(Calendar.DATE,1);                 //設(shè)置成下月的第一天
                           MonthEnd.add(Calendar.DATE,-1);              //再減掉一天
                           int end=MonthEnd.get(Calendar.DAY_OF_MONTH);    //就是這個(gè)月的最后一天了
           
            Calendar原來(lái)就有這么一種方法:
                           Calendar MonthEnd=Calendar.getInstance();
                           MonthEnd.clear(); 
                           MonthEnd.set(Calendar.YEAR, Integer.parseInt(year));
                           MonthEnd.set(Calendar.MONTH,Integer.parseInt(month)-1);
                           int end=MonthEnd.getActualMaximum(MonthEnd.DAY_OF_MONTH);   //直接得就OK
                           //也可以取一個(gè)月的最小一天
                           int first=MonthEnd.getActualMinimum(MonthEnd.DAY_OF_MONTH);

           

          示例:

           

          import java.util.Calendar;
          import java.sql.Date;
          import java.text.SimpleDateFormat;
          import java.text.ParseException;

          public class DateTimeUtil {

           /**
            * 由java.util.Date到j(luò)ava.sql.Date的類型轉(zhuǎn)換
            *
            * @param date
            * @return Date
            */
           public static Date getSqlDate(java.util.Date date) {
            return new Date(date.getTime());
           }

           public static Date nowDate() {
            Calendar calendar = Calendar.getInstance();
            return getSqlDate(calendar.getTime());
           }

           /**
            * 獲得某一日期的后一天
            *
            * @param date
            * @return Date
            */
           public static Date getNextDate(Date date) {
            Calendar calendar = Calendar.getInstance();
            calendar.setTime(date);
            int day = calendar.get(Calendar.DATE);
            calendar.set(Calendar.DATE, day + 1);
            return getSqlDate(calendar.getTime());
           }

           /**
            * 獲得某一日期的前一天
            *
            * @param date
            * @return Date
            */
           public static Date getPreviousDate(Date date) {
            Calendar calendar = Calendar.getInstance();
            calendar.setTime(date);
            int day = calendar.get(Calendar.DATE);
            calendar.set(Calendar.DATE, day - 1);
            return getSqlDate(calendar.getTime());
           }

           /**
            * 獲得某年某月第一天的日期
            *
            * @param year
            * @param month
            * @return Date
            */
           public static Date getFirstDayOfMonth(int year, int month) {
            Calendar calendar = Calendar.getInstance();
            calendar.set(Calendar.YEAR, year);
            calendar.set(Calendar.MONTH, month - 1);
            calendar.set(Calendar.DATE, 1);
            return getSqlDate(calendar.getTime());
           }

           /**
            * 獲得某年某月最后一天的日期
            *
            * @param year
            * @param month
            * @return Date
            */
           public static Date getLastDayOfMonth(int year, int month) {
            Calendar calendar = Calendar.getInstance();
            calendar.set(Calendar.YEAR, year);
            calendar.set(Calendar.MONTH, month);
            calendar.set(Calendar.DATE, 1);
            return getPreviousDate(getSqlDate(calendar.getTime()));
           }

           /**
            * 由年月日構(gòu)建java.sql.Date類型
            *
            * @param year
            * @param month
            * @param date
            * @return Date
            */
           public static Date buildDate(int year, int month, int date) {
            Calendar calendar = Calendar.getInstance();
            calendar.set(year, month - 1, date);
            return getSqlDate(calendar.getTime());
           }

           /**
            * 取得某月的天數(shù)
            *
            * @param year
            * @param month
            * @return int
            */
           public static int getDayCountOfMonth(int year, int month) {
            Calendar calendar = Calendar.getInstance();
            calendar.set(Calendar.YEAR, year);
            calendar.set(Calendar.MONTH, month);
            calendar.set(Calendar.DATE, 0);
            return calendar.get(Calendar.DATE);
           }

           /**
            * 獲得某年某季度的最后一天的日期
            *
            * @param year
            * @param quarter
            * @return Date
            */
           public static Date getLastDayOfQuarter(int year, int quarter) {
            int month = 0;
            if (quarter > 4) {
             return null;
            } else {
             month = quarter * 3;
            }
            return getLastDayOfMonth(year, month);

           }

           /**
            * 獲得某年某季度的第一天的日期
            *
            * @param year
            * @param quarter
            * @return Date
            */
           public static Date getFirstDayOfQuarter(int year, int quarter) {
            int month = 0;
            if (quarter > 4) {
             return null;
            } else {
             month = (quarter - 1) * 3 + 1;
            }
            return getFirstDayOfMonth(year, month);
           }

           /**
            * 獲得某年的第一天的日期
            *
            * @param year
            * @return Date
            */
           public static Date getFirstDayOfYear(int year) {
            return getFirstDayOfMonth(year, 1);
           }

           /**
            * 獲得某年的最后一天的日期
            *
            * @param year
            * @return Date
            */
           public static Date getLastDayOfYear(int year) {
            return getLastDayOfMonth(year, 12);
           }

           /**
            * String到j(luò)ava.sql.Date的類型轉(zhuǎn)換
            *
            * @param param
            * @return Date
            */
           public static java.sql.Date StringToDate(String param) {

            if (param.equals(null)) {

             return null;
            
            } else {
             java.util.Date date = null;
             try {
              SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd");
              date = sdf.parse(param);
              return new Date(date.getTime());
             } catch (ParseException ex) {
              // ex.printStackTrace();
              return null;
             }
            }
           }
          }

           


          本文來(lái)自CSDN博客,轉(zhuǎn)載請(qǐng)標(biāo)明出處:http://blog.csdn.net/shazhenzhong/archive/2008/09/23/2968501.aspx

          posted on 2009-06-12 10:45 阿丁 閱讀(1799) 評(píng)論(0)  編輯  收藏

          只有注冊(cè)用戶登錄后才能發(fā)表評(píng)論。


          網(wǎng)站導(dǎo)航:
           
          主站蜘蛛池模板: 江川县| 白朗县| 贵溪市| 博湖县| 花莲县| 贡嘎县| 鹤岗市| 商丘市| 宜君县| 河池市| 武山县| 七台河市| 沙坪坝区| 玉溪市| 乡城县| 河池市| 濮阳县| 明光市| 阳城县| 偏关县| 晋城| 贵南县| 琼海市| 周宁县| 永泰县| 马边| 沾益县| 昌宁县| 炎陵县| 开鲁县| 麻江县| 霍邱县| 昌吉市| 五常市| 兴宁市| 石泉县| 大连市| 嘉定区| 赣州市| 郧西县| 柳州市|