posts - 23,  comments - 1,  trackbacks - 0
          **
          * <p>Title: 時間格式轉化與計算</p>
          */

          package web.com;

          import java.util.Calendar;
          import java.util.Date;
          import java.text.*;

          public class DateTime {
            public DateTime() {
            }

            /**
             * 取得系統當前時間
             * @return String yyyy-mm-dd
             */
            public String getCurrentDate() {
              Calendar rightNow = Calendar.getInstance();
              int year = rightNow.get(rightNow.YEAR);
              int month = rightNow.get(rightNow.MONTH) + 1;
              int day = rightNow.get(rightNow.DATE);
              return year + "-" + month + "-" + day;
            }

            /**
             * 取得系統當前時間
             * @return String yyyy年mm月dd日
             */
            public String getCurrentDate1() {
              Calendar rightNow = Calendar.getInstance();
              int year = rightNow.get(rightNow.YEAR);
              int month = rightNow.get(rightNow.MONTH) + 1;
              int day = rightNow.get(rightNow.DATE);
              return year + "年" + month + "月" + day + "日";
            }

            /**
             * 取得系統當前時間
             * @return String yyyymmdd
             */
            public String getCurrentDate2() {
              Calendar rightNow = Calendar.getInstance();
              int year = rightNow.get(rightNow.YEAR);
              int month = rightNow.get(rightNow.MONTH) + 1;
              int day = rightNow.get(rightNow.DATE);
              return year + "" + month + "" + day;
            }

            /**
             * 取得系統當前時間
             * @return String yyyy-mm
             */
            public String getCurrentDate3() {
              Calendar rightNow = Calendar.getInstance();
              int year = rightNow.get(rightNow.YEAR);
              int month = rightNow.get(rightNow.MONTH) + 1;
              //int day = rightNow.get(rightNow.DATE);
              return year + "-" + month;
            }

            /**
             * 取得系統當前時間
             * @return String yyyyMMddhhmmss
             */
            public String getCurrentDate4() {
               Calendar c = Calendar.getInstance();
                   c.add(c.SECOND, 0);

                   return "" + c.get(c.YEAR) + "" + (c.get(c.MONTH) + 1) + "" + c.get(c.DATE)+""+c.get(c.HOUR_OF_DAY)+""+c.get(c.MINUTE)+""+c.get(c.SECOND);

          }

            /**
             * 取得系統當前時間
             * @return String yyyy-MM-dd hh:mm:ss
             */
          /* public String getCurrentDate5() {
              SimpleDateFormat simpleDateFormat =new SimpleDateFormat("yyyy-MM-dd hh:mm:ss");
              java.util.Date date = new java.util.Date();
              String time = simpleDateFormat.format(date);
              return time;
            }
          */
          /**
          * 取得系統當前時間
          * @return String yyyy-MM-dd hh:mm:ss
          */

              public String getCurrentDate5(){
                  Calendar c = Calendar.getInstance();
                  c.add(c.SECOND, 0);
                  return "" + c.get(c.YEAR) + "-" + (c.get(c.MONTH) + 1) + "-" + c.get(c.DATE)+" "+c.get(c.HOUR_OF_DAY)+":"+c.get(c.MINUTE)+":"+c.get(c.SECOND);
                }

                /**
                 * 取得系統當前時間 常用于訂單號
                 * @return String yyyyMMddhhmmss
                 */
                public String getCurrentDate6() {
                   Calendar c = Calendar.getInstance();
                       c.add(c.SECOND, 0);
                       String year=c.get(c.YEAR)+"";
                       return "" + year.subSequence(2,year.length())+ "" + (c.get(c.MONTH) + 1) + "" + c.get(c.DATE)+"-"+c.get(c.HOUR_OF_DAY)+""+c.get(c.MINUTE)+""+c.get(c.SECOND)+"-"+c.get(c.MILLISECOND);

              }


            /**
             * 取得系統當前時間前n個月的相對應的一天
             * @param n int
             * @return String yyyy-mm-dd
             */
            public String getNMonthBeforeCurrentDay(int n) {
              Calendar c = Calendar.getInstance();
              c.add(c.MONTH, -n);
              return "" + c.get(c.YEAR) + "-" + (c.get(c.MONTH) + 1) + "-" + c.get(c.DATE);

            }

            /**
             * 取得系統當前時間后n個月的相對應的一天
             * @param n int
             * @return String  yyyy-mm-dd
             */
            public String getNMonthAfterCurrentDay(int n) {
              Calendar c = Calendar.getInstance();
              c.add(c.MONTH, n);
              return "" + c.get(c.YEAR) + "-" + (c.get(c.MONTH) + 1) + "-" + c.get(c.DATE);

            }

            /**
             * 取得系統當前時間前n天
             * @param n int
             * @return String yyyy-mm-dd
             */
            public String getNDayBeforeCurrentDate(int n) {
              Calendar c = Calendar.getInstance();
              c.add(c.DAY_OF_MONTH, -n);
              return "" + c.get(c.YEAR) + "-" + (c.get(c.MONTH) + 1) + "-" + c.get(c.DATE);
            }

            /**
             * 取得系統當前時間后n天
             * @param n int
             * @return String yyyy-mm-dd
             */
            public String getNDayAfterCurrentDate(int n) {
              Calendar c = Calendar.getInstance();
              c.add(c.DAY_OF_MONTH, n);
              return "" + c.get(c.YEAR) + "-" + (c.get(c.MONTH) + 1) + "-" + c.get(c.DATE);
            }

            //---------------------------------------------------------------------
            //取過去一個時間對應的系統當年的一天
            public String getCurrentDateAfterPastDate(String sPastDate) {
              if (sPastDate != null && !sPastDate.equals("")) {
                Date date = switchStringToDate(sPastDate);
                Calendar c = Calendar.getInstance();
                c.setTime(date);
                int iPastYear = c.get(c.YEAR);
                Calendar c1 = Calendar.getInstance();
                int iCurrentYear = c1.get(c1.YEAR);
                c.add(c.YEAR, iCurrentYear - iPastYear);
                return "" + c.get(c.YEAR) + "-" + (c.get(c.MONTH) + 1) + "-" +
                    c.get(c.DATE);
              }
              else {
                return null;
              }
            }

            /**
             * 將一個日期字符串轉化成日期
             * @param sDate String
             * @return Date yyyy-mm-dd
             */
            public Date switchStringToDate(String sDate) {
              Date date = null;
              try {
                SimpleDateFormat df = new SimpleDateFormat("yyyy-MM-dd");
                date = df.parse(sDate);

              }
              catch (Exception e) {
                System.out.println("日期轉換失敗:" + e.getMessage());
              }
              return date;
            }

            /**
             * 輸入兩個字符串型的日期,比較兩者的大小
             * @param fromDate String
             * @param toDate String
             * @return boolean before為true
             */
            public boolean compareTwoDateBigOrSmall(String fromDate, String toDate) {
              Date dateFrom = this.switchStringToDate(fromDate);
              Date dateTo = this.switchStringToDate(toDate);
              if (dateFrom.before(dateTo)) {
                return true;
              }
              else {
                return false;
              }
            }

            /**
             * 將一個日期字符串轉化成Calendar
             * @param sDate String
             * @return Calendar
             */
            public Calendar switchStringToCalendar(String sDate) {
              Date date = switchStringToDate(sDate);
              Calendar c = Calendar.getInstance();
              c.setTime(date);
              return c;
            }

            /**
             * 將一個日期轉化成Calendar
             * @param date Date
             * @return Calendar
             */
            public Calendar switchStringToCalendar(Date date) {
              Calendar c = Calendar.getInstance();
              c.setTime(date);
              return c;
            }

            public  String string2Date(String dateString)
            throws java.lang.Exception {
              /*DateFormat dateFormat;
              dateFormat = new SimpleDateFormat("yyyy-MM-dd kk:mm:ss");
              dateFormat.setLenient(false);
              java.util.Date timeDate = dateFormat.parse(dateString);//util類型
              //java.sql.Date dateTime = new java.sql.Date(timeDate.getTime());//sql類型
              java.sql.Timestamp dateTime = new java.sql.Timestamp(timeDate.getTime());//Timestamp類型
              */
              SimpleDateFormat newk = new SimpleDateFormat ("yyyy.MM.dd hh:mm:ss");
             SimpleDateFormat old = new SimpleDateFormat("MMM dd hh:mm:ss yyyy");

             String strDate = "Mar 22 00:42:00 2002";
             Date d = old.parse(strDate);
             System.out.println(newk.format(d));

              return newk.format(d);
            }



            /**
             * 取得某個時間前n個月的相對應的一天
             * @param sDate String
             * @param n int
             * @return String yyyy-mm-dd
             */
            public String getNMonthBeforeOneDay(String sDate, int n) {
              Calendar c = switchStringToCalendar(sDate);
              c.add(c.MONTH, -n);
              return "" + c.get(c.YEAR) + "-" + (c.get(c.MONTH) + 1) + "-" + c.get(c.DATE);

            }

            //取得某個時間后n個月的相對應的一天
            public String getNMonthAfterOneDay(String sDate, int n) {
              Calendar c = switchStringToCalendar(sDate);
              c.add(c.MONTH, n);
              return "" + c.get(c.YEAR) + "-" + (c.get(c.MONTH) + 1) + "-" + c.get(c.DATE);

            }

            //取得某個時間前n天,格式為yyyy-mm-dd
            public String getNDayBeforeOneDate(String sDate, int n) {
              Calendar c = switchStringToCalendar(sDate);
              c.add(c.DAY_OF_MONTH, -n);
              return "" + c.get(c.YEAR) + "-" + (c.get(c.MONTH) + 1) + "-" + c.get(c.DATE);
            }

            //取得某個時間后n天,格式為yyyy-mm-dd
            public String getNDayAfterOneDate(String sDate, int n) {
              Calendar c = switchStringToCalendar(sDate);
              c.add(c.DAY_OF_MONTH, n);
              return "" + c.get(c.YEAR) + "-" + (c.get(c.MONTH) + 1) + "-" + c.get(c.DATE);
            }

            //判斷系統當前時間是不是潤年
            public boolean isRunNian() {
              java.util.Calendar rightNow = java.util.Calendar.getInstance();
              int year = rightNow.get(rightNow.YEAR);
              if (0 == year % 4 && (year % 100 != 0 || year % 400 == 0)) {
                return true;
              }
              else {
                return false;
              }

            }

            public static void main(String args[]) {
              DateTime a = new DateTime();
              try{
                System.out.println(a.getCurrentDate6());
                System.out.println(a.getCurrentDate6());
              }catch(Exception e){System.err.println();}

            }
          posted on 2005-12-05 15:00 咖啡時間 閱讀(589) 評論(0)  編輯  收藏

          只有注冊用戶登錄后才能發表評論。


          網站導航:
           
          <2005年12月>
          27282930123
          45678910
          11121314151617
          18192021222324
          25262728293031
          1234567

          專 注 Java 技 術 的 開 發... ... 享 受 Java 咖 啡 的 美 味... ... 擁 有 Sun 一 般 的 人 生

          常用鏈接

          留言簿(1)

          隨筆檔案(23)

          文章檔案(1)

          Java學習資源

          搜索

          •  

          最新評論

          閱讀排行榜

          評論排行榜

          主站蜘蛛池模板: 肃宁县| 雷波县| 甘洛县| 太康县| 葵青区| 汉中市| 肥城市| 仲巴县| 天气| 榆社县| 太仓市| 常德市| 田阳县| 德保县| 柳江县| 莱阳市| 建瓯市| 康平县| 巩留县| 明溪县| 乾安县| 阿拉善左旗| 安徽省| 四平市| 岳池县| 苍梧县| 鹰潭市| 武定县| 乐安县| 大关县| 东宁县| 丹棱县| 澜沧| 涟水县| 忻城县| 甘肃省| 山丹县| 沭阳县| 齐齐哈尔市| 罗定市| 湛江市|