打开APP
userphoto
未登录

开通VIP,畅享免费电子书等14项超值服

开通VIP
一个日期工具
  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. }  
本站仅提供存储服务,所有内容均由用户发布,如发现有害或侵权内容,请点击举报
打开APP,阅读全文并永久保存 查看更多类似文章
猜你喜欢
类似文章
【热】打开小程序,算一算2024你的财运
java.util.Calendar 你了解多少?
java创建和使用日期
Java日期格式的控制和简单解析
日期转换工具类
Java日期时间使用总结
Java中一些关于日期、日期格式、日期的解析和日期的计算
更多类似文章 >>
生活服务
热点新闻
分享 收藏 导长图 关注 下载文章
绑定账号成功
后续可登录账号畅享VIP特权!
如果VIP功能使用有故障,
可点击这里联系客服!

联系客服