Chinaunix首页 | 论坛 | 博客
  • 博客访问: 84946
  • 博文数量: 23
  • 博客积分: 1410
  • 博客等级: 上尉
  • 技术积分: 300
  • 用 户 组: 普通用户
  • 注册时间: 2008-06-06 09:13
文章分类
文章存档

2011年(1)

2008年(22)

我的朋友
最近访客

分类: Java

2008-06-06 14:23:52

Java代码 复制代码
  1. package com.huanglq.util;   
  2.   
  3. import java.util.Calendar;   
  4. import java.util.Locale;   
  5. import java.util.GregorianCalendar;   
  6. import java.text.DateFormat;   
  7. import java.text.SimpleDateFormat;   
  8.   
  9. /**  
  10.  * Title: 日期时间  
  11.  * Description: 工具类  
  12.  * @author huanglq  
  13.  * @version 1.0  
  14.  */  
  15. public class DateTime {   
  16.     /**类名*/  
  17.     private static String ClassName = "com.huanglq.util.DateTime";   
  18.     /**本地化*/  
  19.     private static Locale locale = Locale.SIMPLIFIED_CHINESE;   
  20.        
  21.     /**缺省的DateFormat对象,可以将一个java.util.Date格式化成 yyyy-mm-dd 输出*/  
  22.     private static DateFormat dateDF = DateFormat.getDateInstance(DateFormat.   
  23.         MEDIUM, locale);   
  24.     /**缺省的DateFormat对象,可以将一个java.util.Date格式化成 HH:SS:MM 输出*/  
  25.     private static DateFormat timeDF = DateFormat.getTimeInstance(DateFormat.   
  26.         MEDIUM, locale);   
  27.     /**缺省的DateFormat对象,可以将一个java.util.Date格式化成 yyyy-mm-dd HH:SS:MM 输出*/  
  28.     private static DateFormat datetimeDF = DateFormat.getDateTimeInstance(   
  29.         DateFormat.MEDIUM, DateFormat.MEDIUM, locale);   
  30.     /**  
  31.      * 私有构造函数,表示不可实例化  
  32.      */  
  33.     private DateTime() {   
  34.     }   
  35.     /**  
  36.      * 返回一个当前的时间,并按格式转换为字符串  
  37.      * 例:17:27:03  
  38.      * @return String  
  39.      */  
  40.     public static String getTime(){   
  41.         GregorianCalendar gcNow = new GregorianCalendar();   
  42.         java.util.Date dNow = gcNow.getTime();   
  43.         return timeDF.format(dNow);   
  44.     }   
  45.   
  46.     /**  
  47.      * 返回一个当前日期,并按格式转换为字符串  
  48.      * 例:2004-4-30  
  49.      * @return String  
  50.      */  
  51.     public static String getDate(){   
  52.         GregorianCalendar gcNow = new GregorianCalendar();   
  53.         java.util.Date dNow = gcNow.getTime();   
  54.         return dateDF.format(dNow);   
  55.     }   
  56.   
  57.     /**  
  58.      * 返回一个当前日期和时间,并按格式转换为字符串  
  59.      * 例:2004-4-30 17:27:03  
  60.      * @return String  
  61.      */  
  62.     public static String getDateTime(){   
  63.         GregorianCalendar gcNow = new GregorianCalendar();   
  64.         java.util.Date dNow = gcNow.getTime();   
  65.         return datetimeDF.format(dNow);   
  66.     }   
  67.   
  68.     /**  
  69.      * 返回当前年的年号  
  70.      * @return int  
  71.      */  
  72.     public static int getYear(){   
  73.         GregorianCalendar gcNow = new GregorianCalendar();   
  74.         return gcNow.get(GregorianCalendar.YEAR);   
  75.     }   
  76.     /**  
  77.      * 返回本月月号:从 0 开始  
  78.      * @return int  
  79.      */  
  80.     public static int getMonth(){   
  81.         GregorianCalendar gcNow = new GregorianCalendar();   
  82.         return gcNow.get(GregorianCalendar.MONTH);   
  83.     }   
  84.   
  85.     /**  
  86.      * 返回今天是本月的第几天  
  87.      * @return int 从1开始  
  88.      */  
  89.     public static int getToDayOfMonth(){   
  90.         GregorianCalendar gcNow = new GregorianCalendar();   
  91.         return gcNow.get(GregorianCalendar.DAY_OF_MONTH);   
  92.     }   
  93.   
  94.     /**  
  95.      * 返回一格式化的日期  
  96.      * @param date java.util.Date  
  97.      * @return String yyyy-mm-dd 格式  
  98.      */  
  99.     public static String formatDate(java.util.Date date){   
  100.         return dateDF.format(date);   
  101.     }   
  102.     /**  
  103.      * 返回一格式化的日期  
  104.      * @param date  
  105.      * @return  
  106.      */  
  107.     public static String formatDate(long date){   
  108.         return formatDate(new java.util.Date(date));   
  109.     }   
  110.     /**  
  111.      * 返回一格式化的时间  
  112.      * @param date Date  
  113.      * @return String hh:ss:mm 格式  
  114.      */  
  115.     public static String formatTime(java.util.Date date){   
  116.         return timeDF.format(date);   
  117.     }   
  118.     /**  
  119.      * 返回一格式化的时间  
  120.      * @param date  
  121.      * @return  
  122.      */  
  123.     public static String formatTime(long date){   
  124.         return formatTime(new java.util.Date(date));   
  125.     }   
  126.     /**  
  127.      * 返回一格式化的日期时间  
  128.      * @param date Date  
  129.      * @return String yyyy-mm-dd hh:ss:mm 格式  
  130.      */  
  131.     public static String formatDateTime(java.util.Date date){   
  132.         return datetimeDF.format(date);   
  133.     }   
  134.     /**  
  135.      * 返回一格式化的日期时间  
  136.      * @param date  
  137.      * @return  
  138.      */  
  139.     public static String formatDateTime(long date){   
  140.         return formatDateTime(new java.util.Date(date));   
  141.     }   
  142.   
  143.   
  144.     /**  
  145.      * 将字串转成日期和时间,字串格式: yyyy-MM-dd HH:mm:ss  
  146.      * @param string String  
  147.      * @return Date  
  148.      */  
  149.     public static java.util.Date toDateTime(String string) {   
  150.         try {   
  151.             DateFormat formatter = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");   
  152.             return (java.util.Date) formatter.parse(string);   
  153.         } catch (Exception ex) {   
  154.             return null;   
  155.         }   
  156.     }   
  157.   
  158.     /**  
  159.      * 将字串转成日期,字串格式: yyyy/MM/dd  
  160.      * @param string String  
  161.      * @return Date  
  162.      */  
  163.     public static java.util.Date toDate(String string) {   
  164.         try {   
  165.             DateFormat formatter = new SimpleDateFormat("yyyy-MM-dd");   
  166.             return (java.util.Date) formatter.parse(string);   
  167.         } catch (Exception ex) {   
  168.             return null;   
  169.         }   
  170.     }   
  171.        
  172.     /**  
  173.      * 取值:某日期的年号  
  174.      * @param date 格式: yyyy/MM/dd  
  175.      * @return  
  176.      */  
  177.     public static int getYear(String date){   
  178.         java.util.Date d = toDate(date);   
  179.         if(d == nullreturn 0;   
  180.            
  181.         Calendar calendar = Calendar.getInstance(locale);   
  182.         calendar.setTime(d);   
  183.         return calendar.get(Calendar.YEAR);   
  184.     }   
  185.     /**  
  186.      * 取值:某日期的月号  
  187.      * @param date 格式: yyyy/MM/dd  
  188.      * @return  
  189.      */  
  190.     public static int getMonth(String date){   
  191.         java.util.Date d = toDate(date);   
  192.         if(d == nullreturn 0;   
  193.            
  194.         Calendar calendar = Calendar.getInstance(locale);   
  195.         calendar.setTime(d);   
  196.         return calendar.get(Calendar.MONTH);   
  197.     }   
  198.     /**  
  199.      * 取值:某日期的日号  
  200.      * @param date 格式: yyyy/MM/dd  
  201.      * @return 从1开始  
  202.      */  
  203.     public static int getDayOfMonth(String date){   
  204.         java.util.Date d = toDate(date);   
  205.         if(d == nullreturn 0;   
  206.            
  207.         Calendar calendar = Calendar.getInstance(locale);   
  208.         calendar.setTime(d);   
  209.         return calendar.get(Calendar.DAY_OF_MONTH);   
  210.     }   
  211.        
  212.     /**  
  213.      * 计算两个日期的年数差  
  214.      * @param one 格式: yyyy/MM/dd  
  215.      * @param two 格式: yyyy/MM/dd  
  216.      * @return  
  217.      */  
  218.     public static int compareYear(String one, String two){   
  219.         return getYear(one) - getYear(two);   
  220.     }   
  221.     /**  
  222.      * 计算岁数  
  223.      * @param date 格式: yyyy/MM/dd  
  224.      * @return  
  225.      */  
  226.     public static int compareYear(String date){   
  227.         return getYear() - getYear(date);   
  228.     }   
  229. }  
阅读(1107) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~