zoukankan      html  css  js  c++  java
  • Java获取当前系统时间的前N小时时间

    Java获取当前系统时间的前N小时时间
    先说一下代码中存在的一个问题

       /**
        * 当前时间向推几小时
        * @param ihour 小时
        * @return String
        */
       public static String getBeforeByHourTime(int ihour){
          String returnstr = "";
          Calendar calendar = Calendar.getInstance();
          calendar.set(Calendar.HOUR_OF_DAY, calendar.get(Calendar.HOUR_OF_DAY) - ihour);
          SimpleDateFormat df = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
          returnstr = df.format(calendar.getTime());
          return returnstr;
      }
    

    但是这个代码存在问题,假如是凌晨1点向前推3小时就不对了,
    所以存在着问题,采用以下的方法就能很好解决

      /**
       * 当前时间向推几小时
       * @param ihour 小时
       * @return String
       */
      public static String dateRoll(int ihour) {
          DateTimeFormatter dateTimeFormatter = DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm:ss");
          //(1)获取当前时间
          LocalDateTime date = LocalDateTime.now();
          //(2)获取当前时间的前几小时时间
          LocalDateTime localDateTime = date.minusHours(ihour);
    
          return dateTimeFormatter.format(localDateTime);
      }
    

    以上的代码就能很好的解决问题,要是凌晨1点向前推3小时就是前一天的23点.

  • 相关阅读:
    1017.陶陶装苹果
    1084.爬楼梯加强版
    1056.A ^ B Problem 快速幂算法。
    1074.我们喜欢递归的斐波那契数列
    1073.我们喜欢递归的阶乘
    1046 没过
    python 基本常用数据类型
    yii2.0 数据库查询操作
    python 随便笔记
    搭建自己的koa+mysql后台模板
  • 原文地址:https://www.cnblogs.com/harper2/p/14165657.html
Copyright © 2011-2022 走看看