posts - 19, comments - 53, trackbacks - 0, articles - 283
            BlogJava :: 首頁 :: 新隨筆 :: 聯(lián)系 :: 聚合  :: 管理

          時(shí)間工具類 DateUtil

          Posted on 2009-08-11 21:28 Gavin.lee 閱讀(743) 評(píng)論(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對(duì)象,可以將一個(gè)java.util.Date格式化成 yyyy-mm-dd 輸出*/
              
          private static DateFormat dateDF = DateFormat.getDateInstance(DateFormat. MEDIUM, locale);
              
              
          /**缺省的DateFormat對(duì)象,可以將一個(gè)java.util.Date格式化成 HH:SS:MM 輸出*/
              
          private static DateFormat timeDF = DateFormat.getTimeInstance(DateFormat. MEDIUM, locale);
              
              
          /**缺省的DateFormat對(duì)象,可以將一個(gè)java.util.Date格式化成 yyyy-mm-dd HH:SS:MM 輸出*/
              
          private static DateFormat datetimeDF =
                  DateFormat.getDateTimeInstance(DateFormat.MEDIUM, DateFormat.MEDIUM, locale);
              
              
          private DateUtil() {
              }

              
          /**
               * 返回一個(gè)當(dāng)前的時(shí)間,并按格式轉(zhuǎn)換為字符串
               * 例:17:27:03
               * 
          @return String
               
          */

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


              
          /**
               * 返回一個(gè)當(dāng)前日期,并按格式轉(zhuǎn)換為字符串
               * 例:2004-4-30
               * 
          @return String
               
          */

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


              
          /**
               * 返回一個(gè)當(dāng)前日期和時(shí)間,并按格式轉(zhuǎn)換為字符串
               * 例:2004-4-30 17:27:03
               * 
          @return String
               
          */

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


              
          /**
               * 返回當(dāng)前年的年號(hào)
               * 
          @return int
               
          */

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

              
          /**
               * 返回本月月號(hào):從 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));
              }

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

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

              
          /**
               * 返回一格式化的時(shí)間
               * 
          @param date
               * 
          @return
               
          */

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

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

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

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

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



              
          /**
               * 將字串轉(zhuǎn)成日期和時(shí)間,字串格式: 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;
                  }

              }


              
          /**
               * 將字串轉(zhuǎn)成日期,字串格式: 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;
                  }

              }

              
              
          /**
               * 取值:某日期的年號(hào)
               * 
          @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);
              }

              
          /**
               * 取值:某日期的月號(hào)
               * 
          @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);
              }

              
          /**
               * 取值:某日期的日號(hào)
               * 
          @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);
              }

              
              
          /**
               * 計(jì)算兩個(gè)日期的年數(shù)差
               * 
          @param one 格式: yyyy/MM/dd
               * 
          @param two 格式: yyyy/MM/dd
               * 
          @return
               
          */

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

              
          /**
               * 計(jì)算歲數(shù)
               * 
          @param date 格式: yyyy/MM/dd
               * 
          @return
               
          */

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

          }


          評(píng)論

          # re: 時(shí)間工具類 DateUtil  回復(fù)  更多評(píng)論   

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

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


          網(wǎng)站導(dǎo)航:
           
          主站蜘蛛池模板: 卓资县| 修武县| 墨玉县| 化隆| 龙海市| 盘山县| 成武县| 沂南县| 德庆县| 保康县| 广丰县| 金山区| 稷山县| 东山县| 抚顺县| 鸡泽县| 淮南市| 西贡区| 宝兴县| 霍邱县| 新乐市| 巫溪县| 崇文区| 河源市| 黄大仙区| 郯城县| 墨竹工卡县| 丰顺县| 阿拉善右旗| 健康| 平邑县| 永川市| 鹿泉市| 北安市| 四会市| 崇左市| 梓潼县| 临沧市| 兴义市| 江北区| 建始县|