posts - 325,  comments - 25,  trackbacks - 0

          mport java.text.SimpleDateFormat;
          import java.util.Date;
          import java.util.Calendar;
          import java.util.GregorianCalendar;

          public class DateFormat {
           private static SimpleDateFormat formatter;

           public DateFormat() {
           }

           public static String shortDate(Date aDate) {
            formatter = new SimpleDateFormat("yyyy-MM-dd");
            return formatter.format(aDate);
           }

           public static String mailDate(Date aDate) {
            formatter = new SimpleDateFormat("yyyyMMddHHmmssSSS");
            return formatter.format(aDate);
           }

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

           public static String shortDateGB(Date aDate) {
            formatter = new SimpleDateFormat("yyyy'錕斤拷'MM'錕斤拷'dd'錕斤拷'");
            return formatter.format(aDate);
           }

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

           public static String formatDate(Date aDate, String formatStr) {
            formatter = new SimpleDateFormat(formatStr);
            return formatter.format(aDate);

           }

           public static String LDAPDate(Date aDate) {
            return formatDate(aDate, "yyyyMMddHHmm'Z'");
           }

           public static Date getDate(String yyyymmdd) {
            if ((null == yyyymmdd) || (yyyymmdd.trim().length() == 0))
             return null;
            int year = Integer.parseInt(yyyymmdd
              .substring(0, yyyymmdd.indexOf("-")));
            int month = Integer.parseInt(yyyymmdd.substring(
              yyyymmdd.indexOf("-") + 1, yyyymmdd.lastIndexOf("-")));
            int day = Integer.parseInt(yyyymmdd
              .substring(yyyymmdd.lastIndexOf("-") + 1));
            Calendar cal = Calendar.getInstance();
            cal.set(year, month - 1, day);
            return cal.getTime();

           }

           public static Date getDateFull(String yyyymmdd) {
            if ((null == yyyymmdd) || (yyyymmdd.trim().length() == 0))
             return null;
            int year = Integer.parseInt(yyyymmdd
              .substring(0, yyyymmdd.indexOf("-")));
            int month = Integer.parseInt(yyyymmdd.substring(
              yyyymmdd.indexOf("-") + 1, yyyymmdd.lastIndexOf("-")));
            int day = Integer.parseInt(yyyymmdd
              .substring(yyyymmdd.lastIndexOf("-") + 1));
            Calendar cal = Calendar.getInstance();
            cal.set(year, month - 1, day, 24, 60, 60);
            return cal.getTime();

           }

           public static Date parser(String strDate) {
            SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd hh:mm:ss");
            try {
             return sdf.parse(strDate);
            } catch (Exception e) {
             return null;
            }
           }

           public static Date parser(String strDate, String formatter) {
            SimpleDateFormat sdf = new SimpleDateFormat(formatter);
            try {
             return sdf.parse(strDate);
            } catch (Exception e) {
             return null;
            }
           }

           /**
            * get Date with only date num. baoxy add
            *
            * @param yyyymmdd
            * @return
            */
           public static Date getDateOnly(String yyyymmdd) {
            if ((null == yyyymmdd) || (yyyymmdd.trim().length() == 0))
             return null;
            int year = Integer.parseInt(yyyymmdd
              .substring(0, yyyymmdd.indexOf("-")));
            int month = Integer.parseInt(yyyymmdd.substring(
              yyyymmdd.indexOf("-") + 1, yyyymmdd.lastIndexOf("-")));
            int day = Integer.parseInt(yyyymmdd
              .substring(yyyymmdd.lastIndexOf("-") + 1));
            Calendar cal = Calendar.getInstance();
            cal.set(year, month - 1, day, 0, 0, 0);
            return cal.getTime();
           }

           public static Date addMonth(Date myDate, int amount) {
            GregorianCalendar cal = new GregorianCalendar();
            cal.setTime(myDate);
            boolean isEndDayOfMonth_old = cal
              .getActualMaximum(GregorianCalendar.DAY_OF_MONTH) == cal
              .get(GregorianCalendar.DAY_OF_MONTH);
            cal.add(GregorianCalendar.MONTH, amount);
            boolean isEndDayOfMonth_new = cal
              .getActualMaximum(GregorianCalendar.DAY_OF_MONTH) == cal
              .get(GregorianCalendar.DAY_OF_MONTH);
            if (isEndDayOfMonth_old && !isEndDayOfMonth_new) {
             cal.set(GregorianCalendar.DATE, cal
               .getActualMaximum(GregorianCalendar.DAY_OF_MONTH));
            }
            return cal.getTime();
           }

           public static Date addDay(Date myDate, int amount) {
            Calendar cal = Calendar.getInstance();
            cal.setTime(myDate);
            cal.add(Calendar.DAY_OF_MONTH, amount);
            return cal.getTime();
           }

           // -------------------錕斤拷錕斤拷錕斤拷錕??-----------------------------------
           public static Date addMinute(Date myDate, int amount) {
            Calendar cal = Calendar.getInstance();
            cal.setTime(myDate);
            int minute = 0;
            amount = -(amount);

            if (amount > 60) {

             int hour = (int) amount / 60;

             if (hour * 60 > amount) {
              minute = hour * 60 - amount;

              cal.add(Calendar.HOUR_OF_DAY, -hour);
              cal.add(Calendar.MINUTE, minute);

             } else if (hour * 60 < amount) {

              minute = amount - hour * 60;
              cal.add(Calendar.HOUR_OF_DAY, -hour);
              cal.add(Calendar.MINUTE, -minute);

             } else {
              cal.add(Calendar.HOUR_OF_DAY, -hour);
             }

            } else {

             cal.add(Calendar.MINUTE, -amount);
            }
            return cal.getTime();
           }

           public static Date addYear(Date myDate, int amount) {
            GregorianCalendar cal = new GregorianCalendar();
            cal.setTime(myDate);
            boolean isEndDayOfMonth_old = cal
              .getActualMaximum(GregorianCalendar.DAY_OF_MONTH) == cal
              .get(GregorianCalendar.DAY_OF_MONTH);
            cal.add(GregorianCalendar.YEAR, amount);
            boolean isEndDayOfMonth_new = cal
              .getActualMaximum(GregorianCalendar.DAY_OF_MONTH) == cal
              .get(GregorianCalendar.DAY_OF_MONTH);
            if (isEndDayOfMonth_old && !isEndDayOfMonth_new) {
             cal.set(GregorianCalendar.DATE, cal
               .getActualMaximum(GregorianCalendar.DAY_OF_MONTH));
            }
            return cal.getTime();
           }

           /*
            * the mapping from jdk is : 1-Sun; 2-Mon;3-Tues; 4-Weds; 5-Thur;6-Fri;
            * 7-Sat;
            */
           public static int getWeekDay(Date myDate) {
            GregorianCalendar cal = new GregorianCalendar();
            cal.setTime(myDate);
            return cal.get(GregorianCalendar.DAY_OF_WEEK);
           }

           /*
            * the mapping from vas2005 is : 1-Mon;2-Tues; 3-Weds; 4-Thur;5-Fri;
            * 6-Sat;7-Sun;
            */
           public static int getConvertWeekDay(Date myDate) {
            int day = getWeekDay(myDate);
            int result = day - 1;
            if (result == 0)
             result = 7;
            return result;
           }

           public static int getTimeFromDate(Date myDate) {
            SimpleDateFormat sdf = new SimpleDateFormat("hhmmss");
            int result = Integer.parseInt(sdf.format(myDate));
            return result;
           }

           /**
            * 取錕斤拷}錕斤拷時錕斤拷之錕斤拷錕斤拷錕斤拷錕斤拷錕斤拷
            *
            * @param startDate
            * @param endDate
            * @return
            */
           public static long getDaysBetweenDate(Date startDate, Date endDate) {
            Calendar cal = Calendar.getInstance();
            cal.setTime(startDate);
            cal.set(Calendar.HOUR, 0);
            cal.set(Calendar.MINUTE, 0);
            cal.set(Calendar.SECOND, 0);
            cal.set(Calendar.MILLISECOND, 0);
            startDate = cal.getTime();
            cal.setTime(endDate);
            cal.set(Calendar.HOUR, 0);
            cal.set(Calendar.MINUTE, 0);
            cal.set(Calendar.SECOND, 0);
            cal.set(Calendar.MILLISECOND, 0);
            return (cal.getTime().getTime() - startDate.getTime()) / 86400000;

           }
          }

          posted on 2008-12-15 17:07 長春語林科技 閱讀(584) 評論(0)  編輯  收藏 所屬分類: util
          <2008年12月>
          30123456
          78910111213
          14151617181920
          21222324252627
          28293031123
          45678910

           

          長春語林科技歡迎您!

          常用鏈接

          留言簿(6)

          隨筆分類

          隨筆檔案

          文章分類

          文章檔案

          相冊

          收藏夾

          搜索

          •  

          最新評論

          閱讀排行榜

          評論排行榜

          主站蜘蛛池模板: 庆云县| 鄄城县| 汝城县| 武隆县| 河东区| 定西市| 雷山县| 恩施市| 南郑县| 若尔盖县| 昌都县| 大渡口区| 黄冈市| 浑源县| 新竹县| 博乐市| 哈巴河县| 林周县| 锡林浩特市| 宁强县| 九台市| 三亚市| 德令哈市| 新民市| 乐业县| 潼关县| 温泉县| 陕西省| 久治县| 英吉沙县| 藁城市| 时尚| 洛浦县| 乌苏市| 来宾市| 封开县| 哈尔滨市| 辛集市| 上林县| 诸城市| 罗城|