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());
    }
  • 相关阅读:
    Python使用struct处理二进制
    ProtoBuf与Python结合使用初步
    智能指针shared_ptr的用法
    C++模板
    mac 安装protobuf,并编译为java,c++,python
    java的HashCode方法
    JVM的内存结构
    HashSet与TreeSet的比较
    面向对象的特征有哪些方面?
    Collection与Collections的区别是什么?
  • 原文地址:https://www.cnblogs.com/harper2/p/14165691.html
Copyright © 2011-2022 走看看