posts - 14,comments - 11,trackbacks - 0

            取一個月的最后一天,一個非常愚蠢的方法:
                           Calendar MonthEnd=Calendar.getInstance();
                           MonthEnd.clear(); 
                           MonthEnd.set(Calendar.YEAR, Integer.parseInt(year));
                           MonthEnd.set(Calendar.MONTH,Integer.parseInt(month));   
             //寫本月的數字實際上返回的是下個月
                           MonthEnd.set(Calendar.DATE,1);                 //設置成下月的第一天
                           MonthEnd.add(Calendar.DATE,-1);              //再減掉一天
                           int end=MonthEnd.get(Calendar.DAY_OF_MONTH);    //就是這個月的最后一天了
           
            Calendar原來就有這么一種方法:
                           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
                           //也可以取一個月的最小一天
                           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到java.sql.Date的類型轉換
            *
            * @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()));
           }

           /**
            * 由年月日構建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());
           }

           /**
            * 取得某月的天數
            *
            * @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到java.sql.Date的類型轉換
            *
            * @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;
             }
            }
           }
          }

           


          本文來自CSDN博客,轉載請標明出處:http://blog.csdn.net/shazhenzhong/archive/2008/09/23/2968501.aspx

          posted @ 2009-06-12 10:45 阿丁 閱讀(1800) | 評論 (0)編輯 收藏

          這個錯誤是由于索引失效造成的,重建索引后,問題就解決了

          alter index PK_T_CMS_CATALOG  rebuild

          PK_T_CMS_CATALOG  是報錯的那個索引的名字

          posted @ 2009-05-26 14:53 阿丁 閱讀(1118) | 評論 (0)編輯 收藏
          在oracle數據庫中遇到的問題

          報錯提示“流已被關閉” : 原因是數據庫表中有long 類型的數據,改為blob或clob類型的就沒事了,具體原因不詳~

          posted @ 2009-05-26 14:46 阿丁 閱讀(466) | 評論 (0)編輯 收藏
          下載文件的時候報錯,原因:Struts方法之間調用引起的。
          因為:每個方法都返回的是一個ActionForward對象,而response是ActionForward對象參數,所以就會使response沖突!
          所以解決方法: 方法結束返回空 return null;
          posted @ 2009-05-20 16:15 阿丁 閱讀(163) | 評論 (0)編輯 收藏
          僅列出標題
          共2頁: 上一頁 1 2 
          主站蜘蛛池模板: 仙桃市| 东山县| 璧山县| 德州市| 荔浦县| 兴和县| 南康市| 甘德县| 石台县| 樟树市| 山东省| 兴仁县| 汉中市| 富平县| 腾冲县| 金阳县| 舞阳县| 濮阳市| 汝州市| 宝山区| 无极县| 镇原县| 湛江市| 监利县| 西乌| 南充市| 新巴尔虎左旗| 万宁市| 鞍山市| 英德市| 太谷县| 信丰县| 玉溪市| 永济市| 泉州市| 寻乌县| 信宜市| 常德市| 大新县| 中山市| 延津县|