`

一个日期时间的工具类

    博客分类:
  • java
阅读更多
package com.huanglq.util;

import java.util.Calendar;
import java.util.Locale;
import java.util.GregorianCalendar;
import java.text.DateFormat;
import java.text.SimpleDateFormat;

/**
 * Title: 日期时间
 * Description: 工具类
 * @author huanglq
 * @version 1.0
 */
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格式的...

    日期时间处理工具类

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

    Java 日期比较工具类

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

    Java日期工具类

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

    java日期,时间工具类

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

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

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

    时间工具类

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

    日期操作工具类

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

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

    最全的java开发时间工具类(日期处理工具类)。

    java日期时间工具类

    java日期时间工具类,里面主要包括了日期与字符串之间的相互转换,以及输出指定的日期格式

    日期工具类 可以进行日期天数计算

    这个工具类是计算两个时间相差多少天的工具类以及格式化时间

    日期工具类源码

    日期工具类

    java时间日期格式化工具类

    java时间日期格式化工具类,最近新整理的目前各种会用到的关于日期的格式化

    日期转换工具类

    java 日期转换工具

    封装的比较全面的时间工具类

    封装好的时间工具类, 包括时间格式转换,获取今天周几,一月几天。

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

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

    vue 字符和日期转换工具类

    vue 字符和日期转换工具类,先将util里面的公共对象抛出,全局使用

    时间日期转换 工具类

    时间日期转换工具类!各种格式各种转换和一些计算 交易日的工具

    java日期处理工具类

    * 在工具类中经常使用到工具类的格式化描述,这个主要是一个日期的操作类,所以日志格式主要使用 SimpleDateFormat的定义格式. * * 格式的意义如下: 日期和时间模式 * 日期和时间格式由日期和时间模式...

    基于Java语言编写的Spring Boot时间工具类方法封装

    基于Java语言编写的Spring Boot时间工具类方法封装,主要方法如下:根据日期获取该日期内24小时的整点时刻、获取当月的 天数、根据 年、月 获取对应的月份 的 天数、根据指定日期得获取对应月份的所有日期的每日结束...

Global site tag (gtag.js) - Google Analytics