zoukankan      html  css  js  c++  java
  • Java 8 日期类的使用

    Java 8 之前日期时间写法

    /**
     * 获取当前时间小时整点时间
     *
     * @param 
     * @return
     */
    public static Date getCurrentHourTime() {
        return getHourTime(new Date(), 0, "=");
    }
    
    /**
     * 获取指定时间上n个小时整点时间
     *
     * @param date
     * @return
     */
    public static Date getLastHourTime(Date date, int n) {
        return getHourTime(date, n, "-");
    }
    
    /**
     * 获取指定时间下n个小时整点时间
     *
     * @param date
     * @return
     */
    public static Date getNextHourTime(Date date, int n) {
        return getHourTime(date, n, "+");
    }
    
    /**
     * 获取指定时间n个小时整点时间
     *
     * @param date
     * @return
     */
    public static Date getHourTime(Date date, int n, String direction) {
        Calendar ca = Calendar.getInstance();
        ca.setTime(date);
        ca.set(Calendar.MINUTE, 0);
        ca.set(Calendar.SECOND, 0);
        switch (direction) {
            case "+":
                ca.set(Calendar.HOUR_OF_DAY, ca.get(Calendar.HOUR_OF_DAY) + n);
                break;
            case "-":
                ca.set(Calendar.HOUR_OF_DAY, ca.get(Calendar.HOUR_OF_DAY) - n);
                break;
            case "=":
                ca.set(Calendar.HOUR_OF_DAY, ca.get(Calendar.HOUR_OF_DAY));
                break;
            default:
                ca.set(Calendar.HOUR_OF_DAY, ca.get(Calendar.HOUR_OF_DAY));
        }
    
        date = ca.getTime();
        return date;
    }
    

    Java 8 新的日期时间类 写法

    /**
     * 获取当前时间上iHour个小时整点时间
     *
     * @param iHour 小时数
     * @return
     */
    public static Date getLastHourTime(Integer iHour) {
        LocalDateTime localDateTime = LocalDateTime.now().minusHours(iHour).toLocalDate().atTime(LocalDateTime.now().minusHours(iHour).getHour(), 0, 0);
        return Date.from(localDateTime.atZone(ZoneId.systemDefault()).toInstant());
    }
    
    /**
     * 获取当前时间的整点时间向前推iSecond秒
     *
     * @param iSecond 秒数
     * @return
     */
    public static Date getLastSecondByCurrHourTime(Integer iSecond) {
        LocalDateTime localDateTime = LocalDateTime.now().toLocalDate().atTime(LocalDateTime.now().getHour(), 0, 0).minusSeconds(iSecond);
        return Date.from(localDateTime.atZone(ZoneId.systemDefault()).toInstant());
    }
  • 相关阅读:
    Open diary(每天更新)
    独立博客与秘密基地,以及对UI设计中拟物态的怀念
    如何在宝塔面板里设置脚本定时恢复数据库
    LaTex公式语法教程及手册(附emlogpro公式显示插件katex说明)
    关于梦的冷知识
    PTui又加全景图 佳田未来城 of 安阳
    原生js 以ajax(post)的方式传json至php,并让php解析为数组
    Python面向对象——
    Python中的模块、常用模块——12
    Python中的装饰器——11
  • 原文地址:https://www.cnblogs.com/harper2/p/14165691.html
Copyright © 2011-2022 走看看