栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > Java

Java 时间工具类

Java 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

Java 时间工具类

介绍:

java.util 包提供了 Date 类来封装当前的日期和时间。 Date 类提供两个构造函数来实例化 Date 对象。

第一个构造函数使用当前日期和时间来初始化对象

语法:

Date( )

但是时间现在大部分方法都已经过时,这里给大家一个时间工具类

工具类 工具类包括: 1.计算相差天数 2.获取当前时间 3.计算两个时间差
public class DateUtils
{
    public static String YYYY = "yyyy";

    public static String YYYY_MM = "yyyy-MM";

    public static String YYYY_MM_DD = "yyyy-MM-dd";

    public static String YYYYMMDDHHMMSS = "yyyyMMddHHmmss";

    public static String YYYY_MM_DD_HH_MM_SS = "yyyy-MM-dd HH:mm:ss";

    private static String[] parsePatterns = {
            "yyyy-MM-dd", "yyyy-MM-dd HH:mm:ss", "yyyy-MM-dd HH:mm", "yyyy-MM", 
            "yyyy/MM/dd", "yyyy/MM/dd HH:mm:ss", "yyyy/MM/dd HH:mm", "yyyy/MM",
            "yyyy.MM.dd", "yyyy.MM.dd HH:mm:ss", "yyyy.MM.dd HH:mm", "yyyy.MM"};

    
    public static Date getNowDate()
    {
        return new Date();
    }

    
    public static String getDate()
    {
        return dateTimeNow(YYYY_MM_DD);
    }

    public static final String getTime()
    {
        return dateTimeNow(YYYY_MM_DD_HH_MM_SS);
    }

    public static final String dateTimeNow()
    {
        return dateTimeNow(YYYYMMDDHHMMSS);
    }

    public static final String dateTimeNow(final String format)
    {
        return parseDateToStr(format, new Date());
    }

    public static final String dateTime(final Date date)
    {
        return parseDateToStr(YYYY_MM_DD, date);
    }

    public static final String parseDateToStr(final String format, final Date date)
    {
        return new SimpleDateFormat(format).format(date);
    }

    public static final Date dateTime(final String format, final String ts)
    {
        try
        {
            return new SimpleDateFormat(format).parse(ts);
        }
        catch (ParseException e)
        {
            throw new RuntimeException(e);
        }
    }
    
    public static Date getServerStartDate()
    {
        long time = ManagementFactory.getRuntimeMXBean().getStartTime();
        return new Date(time);
    }

    
    public static int differentDaysByMillisecond(Date date1, Date date2)
    {
        return Math.abs((int) ((date2.getTime() - date1.getTime()) / (1000 * 3600 * 24)));
    }

    
    public static String getDatePoor(Date endDate, Date nowDate)
    {
        long nd = 1000 * 24 * 60 * 60;
        long nh = 1000 * 60 * 60;
        long nm = 1000 * 60;
        // long ns = 1000;
        // 获得两个时间的毫秒时间差异
        long diff = endDate.getTime() - nowDate.getTime();
        // 计算差多少天
        long day = diff / nd;
        // 计算差多少小时
        long hour = diff % nd / nh;
        // 计算差多少分钟
        long min = diff % nd % nh / nm;
        // 计算差多少秒//输出结果
        // long sec = diff % nd % nh % nm / ns;
        return day + "天" + hour + "小时" + min + "分钟";
    }

    public static void main(String[] args) {
        //没有格式化的时间
        Date nowDate = getNowDate();
        System.out.println("没有格式化的时间:"+nowDate);

        //格式化的时间   YYYY_MM_DD_HH_MM_SS
        String time = getTime();
        System.out.println("格式化的时间:"+time);

        // 格式化的时间  YYYYMMDDHHMMSS
        String s = dateTimeNow();
        System.out.println("YYYYMMDDHHMMSS:"+s);

        // 格式化的时间  YYYY_MM_DD
        String date = getDate();
        System.out.println("年月日:"+date);

        // 格式化的时间  年月日
        String s1 = dateTime(new Date());
        System.out.println("年月日"+s1);

        //计算相差天数
        int i = differentDaysByMillisecond(new Date(), new Date());
        System.out.println("相差天数"+i);


        String datePoor = getDatePoor(new Date(),new Date());
        System.out.println("计算两个时间差"+datePoor);
    }

}

测试结果:

没有格式化的时间:Mon Apr 25 10:35:58 CST 2022
格式化的时间:2022-04-25 10:35:58
YYYYMMDDHHMMSS:20220425103558
年月日:2022-04-25
年月日2022-04-25
相差天数0
计算两个时间差0天0小时0分钟

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/838192.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号