無線&移動互聯網技術研發

          換位思考·····
          posts - 19, comments - 53, trackbacks - 0, articles - 283
            BlogJava :: 首頁 :: 新隨筆 :: 聯系 :: 聚合  :: 管理

          時間工具類 DateUtil

          Posted on 2009-08-11 21:28 Gavin.lee 閱讀(743) 評論(1)  編輯  收藏 所屬分類: Date tools
          package com.Gavin.tools;
          import java.text.SimpleDateFormat;
          import java.util.Date;
          import java.util.Calendar;
          import java.util.Locale;
          import java.util.GregorianCalendar;
          import java.text.DateFormat;

          public class DateUtil {
              
          /**本地化*/
              
          private static Locale locale = Locale.SIMPLIFIED_CHINESE;
              
              
          /**缺省的DateFormat對象,可以將一個java.util.Date格式化成 yyyy-mm-dd 輸出*/
              
          private static DateFormat dateDF = DateFormat.getDateInstance(DateFormat. MEDIUM, locale);
              
              
          /**缺省的DateFormat對象,可以將一個java.util.Date格式化成 HH:SS:MM 輸出*/
              
          private static DateFormat timeDF = DateFormat.getTimeInstance(DateFormat. MEDIUM, locale);
              
              
          /**缺省的DateFormat對象,可以將一個java.util.Date格式化成 yyyy-mm-dd HH:SS:MM 輸出*/
              
          private static DateFormat datetimeDF =
                  DateFormat.getDateTimeInstance(DateFormat.MEDIUM, DateFormat.MEDIUM, locale);
              
              
          private DateUtil() {
              }

              
          /**
               * 返回一個當前的時間,并按格式轉換為字符串
               * 例:17:27:03
               * 
          @return String
               
          */

              
          public static String getTime(){
                  GregorianCalendar gcNow 
          = new GregorianCalendar();
                  Date dNow 
          = gcNow.getTime();
                  
          return timeDF.format(dNow);
              }


              
          /**
               * 返回一個當前日期,并按格式轉換為字符串
               * 例:2004-4-30
               * 
          @return String
               
          */

              
          public static String getDate(){
                  GregorianCalendar gcNow 
          = new GregorianCalendar();
                  Date dNow 
          = gcNow.getTime();
                  
          return dateDF.format(dNow);
              }


              
          /**
               * 返回一個當前日期和時間,并按格式轉換為字符串
               * 例:2004-4-30 17:27:03
               * 
          @return String
               
          */

              
          public static String getDateTime(){
                  GregorianCalendar gcNow 
          = new GregorianCalendar();
                  Date dNow 
          = gcNow.getTime();
                  
          return datetimeDF.format(dNow);
              }


              
          /**
               * 返回當前年的年號
               * 
          @return int
               
          */

              
          public static int getYear(){
                  GregorianCalendar gcNow 
          = new GregorianCalendar();
                  
          return gcNow.get(GregorianCalendar.YEAR);
              }

              
          /**
               * 返回本月月號:從 0 開始
               * 
          @return int
               
          */

              
          public static int getMonth(){
                  GregorianCalendar gcNow 
          = new GregorianCalendar();
                  
          return gcNow.get(GregorianCalendar.MONTH);
              }


              
          /**
               * 返回今天是本月的第幾天
               * 
          @return int 從1開始
               
          */

              
          public static int getToDayOfMonth(){
                  GregorianCalendar gcNow 
          = new GregorianCalendar();
                  
          return gcNow.get(GregorianCalendar.DAY_OF_MONTH);
              }


              
          /**
               * 返回一格式化的日期
               * 
          @param date java.util.Date
               * 
          @return String yyyy-mm-dd 格式
               
          */

              
          public static String formatDate(java.util.Date date){
                  
          return dateDF.format(date);
              }

              
          /**
               * 返回一格式化的日期
               * 
          @param date
               * 
          @return
               
          */

              
          public static String formatDate(long date){
                  
          return formatDate(new java.util.Date(date));
              }

              
          /**
               * 返回一格式化的時間
               * 
          @param date Date
               * 
          @return String hh:ss:mm 格式
               
          */

              
          public static String formatTime(java.util.Date date){
                  
          return timeDF.format(date);
              }

              
          /**
               * 返回一格式化的時間
               * 
          @param date
               * 
          @return
               
          */

              
          public static String formatTime(long date){
                  
          return formatTime(new java.util.Date(date));
              }

              
          /**
               * 返回一格式化的日期時間
               * 
          @param date Date
               * 
          @return String yyyy-mm-dd hh:ss:mm 格式
               
          */

              
          public static String formatDateTime(java.util.Date date){
                  
          return datetimeDF.format(date);
              }

              
          /**
               * 返回一格式化的日期時間
               * 
          @param date
               * 
          @return
               
          */

              
          public static String formatDateTime(long date){
                  
          return formatDateTime(new java.util.Date(date));
              }



              
          /**
               * 將字串轉成日期和時間,字串格式: yyyy-MM-dd HH:mm:ss
               * 
          @param string String
               * 
          @return Date
               
          */

              
          public static Date toDateTime(String string) {
                  
          try {
                      DateFormat formatter 
          = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
                      
          return (java.util.Date) formatter.parse(string);
                  }
           catch (Exception ex) {
                      
          return null;
                  }

              }


              
          /**
               * 將字串轉成日期,字串格式: yyyy/MM/dd
               * 
          @param string String
               * 
          @return Date
               
          */

              
          public static Date toDate(String string) {
                  
          try {
                      DateFormat formatter 
          = new SimpleDateFormat("yyyy-MM-dd");
                      
          return (java.util.Date) formatter.parse(string);
                  }
           catch (Exception ex) {
                      
          return null;
                  }

              }

              
              
          /**
               * 取值:某日期的年號
               * 
          @param date 格式: yyyy/MM/dd
               * 
          @return
               
          */

              
          public static int getYear(String date){
                  java.util.Date d 
          = toDate(date);
                  
          if(d == nullreturn 0;
                  
                  Calendar calendar 
          = Calendar.getInstance(locale);
                  calendar.setTime(d);
                  
          return calendar.get(Calendar.YEAR);
              }

              
          /**
               * 取值:某日期的月號
               * 
          @param date 格式: yyyy/MM/dd
               * 
          @return
               
          */

              
          public static int getMonth(String date){
                  java.util.Date d 
          = toDate(date);
                  
          if(d == nullreturn 0;
                  
                  Calendar calendar 
          = Calendar.getInstance(locale);
                  calendar.setTime(d);
                  
          return calendar.get(Calendar.MONTH);
              }

              
          /**
               * 取值:某日期的日號
               * 
          @param date 格式: yyyy/MM/dd
               * 
          @return 從1開始
               
          */

              
          public static int getDayOfMonth(String date){
                  java.util.Date d 
          = toDate(date);
                  
          if(d == nullreturn 0;
                  
                  Calendar calendar 
          = Calendar.getInstance(locale);
                  calendar.setTime(d);
                  
          return calendar.get(Calendar.DAY_OF_MONTH);
              }

              
              
          /**
               * 計算兩個日期的年數差
               * 
          @param one 格式: yyyy/MM/dd
               * 
          @param two 格式: yyyy/MM/dd
               * 
          @return
               
          */

              
          public static int compareYear(String one, String two){
                  
          return getYear(one) - getYear(two);
              }

              
          /**
               * 計算歲數
               * 
          @param date 格式: yyyy/MM/dd
               * 
          @return
               
          */

              
          public static int compareYear(String date){
                  
          return getYear() - getYear(date);
              }

          }


          評論

          # re: 時間工具類 DateUtil  回復  更多評論   

          2011-04-28 19:05 by 徐揚
          1.較早版本的SimpleDateFormat不是線程安全的,作為field使用時要注意
          2.joda api很犀利

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


          網站導航:
           
          主站蜘蛛池模板: 安宁市| 类乌齐县| 汕尾市| 永仁县| 无为县| 荔浦县| 台湾省| 江阴市| 长岛县| 南安市| 东乡县| 奉贤区| 德安县| 宿松县| 阜平县| 封开县| 新建县| 阿拉善左旗| 革吉县| 汕头市| 中阳县| 布尔津县| 阿鲁科尔沁旗| 宣武区| 嘉黎县| 临江市| 城口县| 阿拉尔市| 长沙市| 三河市| 凌云县| 诸暨市| 石首市| 南充市| 英吉沙县| 融水| 巴马| 裕民县| 乌苏市| 渭源县| 定安县|