`
DoubleEO
  • 浏览: 158093 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

一个日期时间的工具类

阅读更多
import java.util.Calendar;
import java.util.Locale;
import java.util.GregorianCalendar;
import java.text.DateFormat;
import java.text.SimpleDateFormat;

public class DateTime {
    /**类名*/
    private static String ClassName = "com.huanglq.util.DateTime";
    /**本地化*/
    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 DateTime() {
    }
    /**
     * 返回一个当前的时间,并按格式转换为字符串
     * 例:17:27:03
     * @return String
     */
    public static String getTime(){
        GregorianCalendar gcNow = new GregorianCalendar();
        java.util.Date dNow = gcNow.getTime();
        return timeDF.format(dNow);
    }

    /**
     * 返回一个当前日期,并按格式转换为字符串
     * 例:2004-4-30
     * @return String
     */
    public static String getDate(){
        GregorianCalendar gcNow = new GregorianCalendar();
        java.util.Date dNow = gcNow.getTime();
        return dateDF.format(dNow);
    }

    /**
     * 返回一个当前日期和时间,并按格式转换为字符串
     * 例:2004-4-30 17:27:03
     * @return String
     */
    public static String getDateTime(){
        GregorianCalendar gcNow = new GregorianCalendar();
        java.util.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 java.util.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 java.util.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 == null) return 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 == null) return 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 == null) return 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);
    }
}
分享到:
评论

相关推荐

    java日期时间工具类超级全

    java日期时间工具类超级全。其中包含:获得当前日期 yyyy-MM-dd HH:mm:ss;获取系统当前时间戳;获取当前日期 yy-MM-dd;得到两个时间差 格式yyyy-MM-dd HH:mm:ss;转化long值的日期为yyyy-MM-dd HH:mm:ss.SSS格式的...

    Java - DateUtil 日期时间转换工具类

    资源名称:DateUtil 日期时间转换工具类 内容概要:日期时间转换工具类,包括基本的Date类型,String类型,TimeStamp类型,LocalDateTime类型,LocalDate类型之间的互相转换,还提供了许多与时间获取,时间计算有关...

    日期时间处理工具类

    这是一个比较全面的处理日期时间的工具类,利用该工具类可以得到你想要的日期时间。里面代码简洁,方法已经封装好,只需要调用即可。自己可以将其打成jar包来用

    Java 日期比较工具类

    Java 日期比较工具类 各种日期操作及计算( 获取两个日期 间隔天数 间隔月数 格式化日期 )

    java操作日期时间工具类

    在Java编程语言中,处理日期和...总之,一个良好的日期时间工具类应该简化日期时间的常见操作,提高代码的可读性和可维护性。在Java 8及更高版本中,可以考虑利用`java.time`包提供的新特性来进一步优化工具类的设计。

    我自己日常使用的工具类

    一个日期时间工具类可能有解析和格式化日期、计算时间差等功能;网络工具类则可能帮助我们简化HTTP请求或处理网络数据。 在实际开发中,这样的工具类库非常有价值,因为它们可以帮助我们避免重复造轮子,专注于核心...

    Java日期工具类

    Java日期工具类 1、日期的各种格式化 2、获取当前年度 3、获取当前月份 4、获取当前天号数 5、获取当前时间往前推一个月的时间 6、获取上个月("MMM yyyy") 7、获取上个月("yyyymm") 8、获取上个月("yyyy-mm") 9、...

    日期处理工具类

    "日期处理工具类"通常是指一个自定义的类,它封装了一些常用的方法,例如日期格式化、字符串转换为日期以及对日期进行加减操作。这个类可能是开发者为了提高代码复用性和简化日期处理逻辑而创建的。 首先,让我们...

    日期转换工具类

    本文将详细介绍一个名为`DateTimeUtil`的Java工具类,该类提供了日期格式化和解析的功能。此类利用了`org.joda.time`包中的`DateTime`和`DateTimeFormat`类来实现字符串与日期对象之间的相互转换,并且支持自定义...

    java日期,时间工具类

    各种日期格式,时间戳,时间计算的相互转换。直接引入工程中,可使用

    操作日期时间的工具类,封装的比较完善

    操作日期时间的工具类,封装的比较完善,可以获取最小时间, 获取最大时间,获取今天最小时间,获取今天最大时间,获取明天的最小时间,获取明天的最大时间,获取昨天的最小时间,获取昨天的最大时间,获取指定月第...

    时间工具类

    时间类型方面很好用的工具类,包括时间类型的转化与计算等

    java 日期操作工具类:包括计算两个时间相差距离多少天多少小时多少分多少秒

    这篇博客文章“java 日期操作工具类:包括计算两个时间相差距离多少天多少小时多少分多少秒”提供了一个实用的工具类,帮助开发者更方便地处理日期和时间差异。下面将详细解释这个工具类中的关键知识点。 1. **Java...

    Java日期工具类,Java时间工具类,Java时间格式化

    本篇将围绕Java中的日期工具类和时间工具类展开讨论,同时会涉及到日期时间的格式化。 首先,Java 8之前,我们主要依赖`java.util.Date`和`java.text.SimpleDateFormat`这两个类来处理日期和时间。`Date`类用于表示...

    最全的java时间(日期)工具类

    本文将深入探讨Java中的日期时间工具类,特别是基于给定的"DateUtil.java"文件,我们将聚焦在传统`java.util.Date`和`java.text.SimpleDateFormat`以及Java 8的`java.time`包中的相关类。 首先,我们来看看`java....

    java时间日期格式化工具类

    `SimpleDateFormat`是一个具体的类,它实现了`DateFormat`接口,允许我们自定义日期和时间的格式。例如: ```java import java.text.SimpleDateFormat; import java.util.Date; Date date = new Date(); ...

    时间日期工具类(包含java8新特性).zip

    8. **日期时间校验**:检查一个日期时间是否符合特定条件,例如是否在某个区间内。 9. **日期时间与Unix时间戳转换**:提供方法将日期时间对象转换为Unix时间戳,反之亦然。 这些工具类通常会以静态方法的形式提供...

    日期操作工具类

    日期操作工具类 /** * 将日期对象按照换为时间字符串 * 默认格式为"yyyy-MM-dd HH:mm:ss" * @param sourceTime * @return * @throws ParseException */ public static String formatDate(Date ...

    Date日期操作工具类

    本主题聚焦于一个名为"Date日期操作工具类"的实用工具,它提供了丰富的功能,包括日期格式化、字符串与日期之间的转换、日期的加减操作以及计算日期间隔等。 首先,让我们深入理解`java.util.Date`类。Date类代表了...

Global site tag (gtag.js) - Google Analytics