liurunyu
2024-12-13 7037f0de5c155c027b57380ecfd0925c8001b665
pipIrr-platform/pipIrr-common/src/main/java/com/dy/common/util/DateTime.java
@@ -415,16 +415,29 @@
   }
   public static Integer week_Int(){
      String str = week_Str() ;
      return switch (str) {
         case "Mon" -> 1;
         case "Tue" -> 2;
         case "Wed" -> 3;
         case "Thu" -> 4;
         case "Fri" -> 5;
         case "Sat" -> 6;
         case "Sun" -> 7;
         default -> 0;
      };
      if(str.startsWith("周")){
         return switch (str) {
            case "周一" -> 1;
            case "周二" -> 2;
            case "周三" -> 3;
            case "周四" -> 4;
            case "周五" -> 5;
            case "周六" -> 6;
            case "周七" -> 0;//根据协议要求星期天为0
            default -> 0;
         };
      }else{
         return switch (str) {
            case "Mon" -> 1;
            case "Tue" -> 2;
            case "Wed" -> 3;
            case "Thu" -> 4;
            case "Fri" -> 5;
            case "Sat" -> 6;
            case "Sun" -> 0;//根据协议要求星期天为0
            default -> 0;
         };
      }
   }
   /**
    * 两个日期间相差秒钟数
@@ -486,6 +499,17 @@
   }
   //////////////////////////////////////////////////////////////////////////
   /**
    * 字符串型日期(2024-12)转成年月日数组
    * @param yyyy_MM 年月日
    * @return 年月日数组
    */
   public static int[] yyyy_MM_ymdGroup(String yyyy_MM){
      int y = Integer.parseInt(yyyy_MM.substring(0 , 4)) ;
      int m = Integer.parseInt(yyyy_MM.substring(5 , 7)) ;
      return new int[]{y,m} ;
   }
   /**
    * 字符串型日期(2009-09-10)转成年月日数组
@@ -590,7 +614,7 @@
    */
   public static Long lastXMinuteTime(int xMin)  {
      Calendar cal = Calendar.getInstance();  
      cal.add(Calendar.MINUTE, -xMin);
      cal.add(Calendar.MINUTE, xMin<=0?xMin:-xMin);
      Date date = cal.getTime() ;
      return date.getTime() ;
   }
@@ -606,7 +630,7 @@
      Date d = new SimpleDateFormat("yyyy-MM-dd HH", Locale.CHINA).parse(yyyy_MM_dd_HH);
      Calendar cal = Calendar.getInstance();  
      cal.setTime(d);         
      cal.add(Calendar.HOUR_OF_DAY, -xhour);
      cal.add(Calendar.HOUR_OF_DAY, xhour<=0?xhour:-xhour);
      Date date = cal.getTime() ;
      return DateTime.yyyy_MM_dd_HH(date) ;
   }
@@ -620,7 +644,7 @@
      Date d = new SimpleDateFormat("yyyy-MM-dd HH:mm", Locale.CHINA).parse(yyyy_MM_dd_HH_mm);
      Calendar cal = Calendar.getInstance();  
      cal.setTime(d);         
      cal.add(Calendar.HOUR_OF_DAY, -xhour);
      cal.add(Calendar.HOUR_OF_DAY, xhour<=0?xhour:-xhour);
      Date date = cal.getTime() ;
      return DateTime.yyyy_MM_dd_HH_mm(date) ;
   }
@@ -634,7 +658,7 @@
      Date d = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss", Locale.CHINA).parse(yyyy_MM_dd_HH_mm_ss);
      Calendar cal = Calendar.getInstance();  
      cal.setTime(d);         
      cal.add(Calendar.HOUR_OF_DAY, -xhour);
      cal.add(Calendar.HOUR_OF_DAY, xhour<=0?xhour:-xhour);
      Date date = cal.getTime() ;
      return DateTime.yyyy_MM_dd_HH_mm_ss(date) ;
   }
@@ -648,7 +672,7 @@
      Date d = new SimpleDateFormat("yyyyMMddHH", Locale.CHINA).parse(yyyyMMddHH);
      Calendar cal = Calendar.getInstance();  
      cal.setTime(d);         
      cal.add(Calendar.HOUR_OF_DAY, -xhour);
      cal.add(Calendar.HOUR_OF_DAY, xhour<=0?xhour:-xhour);
      Date date = cal.getTime() ;
      return DateTime.yyyyMMddHH(date) ;
   }
@@ -662,7 +686,7 @@
      Date d = new SimpleDateFormat("yyyyMMddHHmm", Locale.CHINA).parse(yyyyMMddHHmm);
      Calendar cal = Calendar.getInstance();  
      cal.setTime(d);         
      cal.add(Calendar.HOUR_OF_DAY, -xhour);
      cal.add(Calendar.HOUR_OF_DAY, xhour<=0?xhour:-xhour);
      Date date = cal.getTime() ;
      return DateTime.yyyyMMddHHmm(date) ;
   }
@@ -676,7 +700,7 @@
      Date d = new SimpleDateFormat("yyyyMMddHHmmss", Locale.CHINA).parse(yyyyMMddHHmmss);
      Calendar cal = Calendar.getInstance();  
      cal.setTime(d);         
      cal.add(Calendar.HOUR_OF_DAY, -xhour);
      cal.add(Calendar.HOUR_OF_DAY, xhour<=0?xhour:-xhour);
      Date date = cal.getTime() ;
      return DateTime.yyyyMMddHHmmss(date) ;
   }
@@ -690,7 +714,7 @@
   public static String lastXHour_yyyy_MM_dd_HH(int xhour){
      Date date = new Date();
      Calendar cal = Calendar.getInstance();
      cal.add(Calendar.HOUR_OF_DAY, -xhour);
      cal.add(Calendar.HOUR_OF_DAY, xhour<=0?xhour:-xhour);
      date.setTime(cal.getTimeInMillis());         
      return DateTime.yyyy_MM_dd_HH(date) ;
   }
@@ -702,7 +726,7 @@
   public static String lastXHour_yyyy_MM_dd_HH_mm(int xhour){
      Date date = new Date();
      Calendar cal = Calendar.getInstance();
      cal.add(Calendar.HOUR_OF_DAY, -xhour);
      cal.add(Calendar.HOUR_OF_DAY, xhour<=0?xhour:-xhour);
      date.setTime(cal.getTimeInMillis());         
      return DateTime.yyyy_MM_dd_HH_mm(date) ;
   }
@@ -714,7 +738,7 @@
   public static String lastXHour_yyyy_MM_dd_HH_mm_ss(int xhour){
      Date date = new Date();
      Calendar cal = Calendar.getInstance();
      cal.add(Calendar.HOUR_OF_DAY, -xhour);
      cal.add(Calendar.HOUR_OF_DAY, xhour<=0?xhour:-xhour);
      date.setTime(cal.getTimeInMillis());         
      return DateTime.yyyy_MM_dd_HH_mm_ss(date) ;
   }
@@ -726,7 +750,7 @@
   public static String lastXHour_yyyyMMddHH(int xhour){
      Date date = new Date();
      Calendar cal = Calendar.getInstance();
      cal.add(Calendar.HOUR_OF_DAY, -xhour);
      cal.add(Calendar.HOUR_OF_DAY, xhour<=0?xhour:-xhour);
      date.setTime(cal.getTimeInMillis());         
      return DateTime.yyyyMMddHH(date) ;
   }
@@ -738,7 +762,7 @@
   public static String lastXHour_yyyyMMddHHmm(int xhour){
      Date date = new Date();
      Calendar cal = Calendar.getInstance();
      cal.add(Calendar.HOUR_OF_DAY, -xhour);
      cal.add(Calendar.HOUR_OF_DAY, xhour<=0?xhour:-xhour);
      date.setTime(cal.getTimeInMillis());         
      return DateTime.yyyyMMddHHmm(date) ;
   }
@@ -750,7 +774,7 @@
   public static String lastXHour_yyyyMMddHHmmss(int xhour){
      Date date = new Date();
      Calendar cal = Calendar.getInstance();
      cal.add(Calendar.HOUR_OF_DAY, -xhour);
      cal.add(Calendar.HOUR_OF_DAY, xhour<=0?xhour:-xhour);
      date.setTime(cal.getTimeInMillis());         
      return DateTime.yyyyMMddHHmmss(date) ;
   }
@@ -766,7 +790,7 @@
      Date d = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss", Locale.CHINA).parse(yyyy_MM_dd_HH_mm_ss);
      Calendar cal = Calendar.getInstance();  
      cal.setTime(d);         
      cal.add(Calendar.MINUTE, xminute);
      cal.add(Calendar.MINUTE, xminute<=0?-xminute:xminute );
      Date date = cal.getTime() ;
      return DateTime.yyyy_MM_dd_HH_mm_ss(date) ;
   }
@@ -782,7 +806,7 @@
      Date d = new SimpleDateFormat("yyyy-MM-dd HH", Locale.CHINA).parse(yyyy_MM_dd_HH);
      Calendar cal = Calendar.getInstance();  
      cal.setTime(d);         
      cal.add(Calendar.HOUR_OF_DAY, xhour);
      cal.add(Calendar.HOUR_OF_DAY, xhour<=0?-xhour:xhour );
      Date date = cal.getTime() ;
      return DateTime.yyyy_MM_dd_HH(date) ;
   }
@@ -796,7 +820,7 @@
      Date d = new SimpleDateFormat("yyyy-MM-dd HH:mm", Locale.CHINA).parse(yyyy_MM_dd_HH_mm);
      Calendar cal = Calendar.getInstance();  
      cal.setTime(d);         
      cal.add(Calendar.HOUR_OF_DAY, xhour);
      cal.add(Calendar.HOUR_OF_DAY, xhour<=0?-xhour:xhour);
      Date date = cal.getTime() ;
      return DateTime.yyyy_MM_dd_HH_mm(date) ;
   }   
@@ -810,7 +834,7 @@
      Date d = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss", Locale.CHINA).parse(yyyy_MM_dd_HH_mm_ss);
      Calendar cal = Calendar.getInstance();  
      cal.setTime(d);         
      cal.add(Calendar.HOUR_OF_DAY, xhour);
      cal.add(Calendar.HOUR_OF_DAY, xhour<=0?-xhour:xhour);
      Date date = cal.getTime() ;
      return DateTime.yyyy_MM_dd_HH_mm_ss(date) ;
   }
@@ -824,7 +848,7 @@
      Date d = new SimpleDateFormat("yyyyMMddHH", Locale.CHINA).parse(yyyyMMddHH);
      Calendar cal = Calendar.getInstance();  
      cal.setTime(d);         
      cal.add(Calendar.HOUR_OF_DAY, xhour);
      cal.add(Calendar.HOUR_OF_DAY, xhour<=0?-xhour:xhour);
      Date date = cal.getTime() ;
      return DateTime.yyyyMMddHH(date) ;
   }
@@ -838,7 +862,7 @@
      Date d = new SimpleDateFormat("yyyyMMddHHmm", Locale.CHINA).parse(yyyyMMddHHmm);
      Calendar cal = Calendar.getInstance();  
      cal.setTime(d);         
      cal.add(Calendar.HOUR_OF_DAY, xhour);
      cal.add(Calendar.HOUR_OF_DAY, xhour<=0?-xhour:xhour);
      Date date = cal.getTime() ;
      return DateTime.yyyyMMddHHmm(date) ;
   }   /**
@@ -851,7 +875,7 @@
      Date d = new SimpleDateFormat("yyyyMMddHHmmss", Locale.CHINA).parse(yyyyMMddHHmmss);
      Calendar cal = Calendar.getInstance();  
      cal.setTime(d);         
      cal.add(Calendar.HOUR_OF_DAY, xhour);
      cal.add(Calendar.HOUR_OF_DAY, xhour<=0?-xhour:xhour);
      Date date = cal.getTime() ;
      return DateTime.yyyyMMddHHmmss(date) ;
   }
@@ -865,7 +889,7 @@
   public static String nextXHour_yyyy_MM_dd_HH(int xhour){
      Date date = new Date();
      Calendar cal = Calendar.getInstance();
      cal.add(Calendar.HOUR_OF_DAY, xhour);
      cal.add(Calendar.HOUR_OF_DAY, xhour<=0?-xhour:xhour);
      date.setTime(cal.getTimeInMillis());         
      return DateTime.yyyy_MM_dd_HH(date) ;
   }
@@ -877,7 +901,7 @@
   public static String nextXHour_yyyy_MM_dd_HH_mm(int xhour){
      Date date = new Date();
      Calendar cal = Calendar.getInstance();
      cal.add(Calendar.HOUR_OF_DAY, xhour);
      cal.add(Calendar.HOUR_OF_DAY, xhour<=0?-xhour:xhour);
      date.setTime(cal.getTimeInMillis());         
      return DateTime.yyyy_MM_dd_HH_mm(date) ;
   }
@@ -889,7 +913,7 @@
   public static String nextXHour_yyyy_MM_dd_HH_mm_ss(int xhour){
      Date date = new Date();
      Calendar cal = Calendar.getInstance();
      cal.add(Calendar.HOUR_OF_DAY, xhour);
      cal.add(Calendar.HOUR_OF_DAY, xhour<=0?-xhour:xhour);
      date.setTime(cal.getTimeInMillis());         
      return DateTime.yyyy_MM_dd_HH_mm_ss(date) ;
   }
@@ -903,7 +927,7 @@
   public static String nextXHour_yyyyMMddHH(int xhour){
      Date date = new Date();
      Calendar cal = Calendar.getInstance();
      cal.add(Calendar.HOUR_OF_DAY, xhour);
      cal.add(Calendar.HOUR_OF_DAY, xhour<=0?-xhour:xhour);
      date.setTime(cal.getTimeInMillis());         
      return DateTime.yyyyMMddHH(date) ;
   }
@@ -915,7 +939,7 @@
   public static String nextXHour_yyyyMMddHHmm(int xhour){
      Date date = new Date();
      Calendar cal = Calendar.getInstance();
      cal.add(Calendar.HOUR_OF_DAY, xhour);
      cal.add(Calendar.HOUR_OF_DAY, xhour<=0?-xhour:xhour);
      date.setTime(cal.getTimeInMillis());         
      return DateTime.yyyyMMddHHmm(date) ;
   }
@@ -927,7 +951,7 @@
   public static String nextXHour_yyyyMMddHHmmss(int xhour){
      Date date = new Date();
      Calendar cal = Calendar.getInstance();
      cal.add(Calendar.HOUR_OF_DAY, xhour);
      cal.add(Calendar.HOUR_OF_DAY, xhour<=0?-xhour:xhour);
      date.setTime(cal.getTimeInMillis());         
      return DateTime.yyyyMMddHHmmss(date) ;
   }
@@ -946,7 +970,7 @@
      Date d = new SimpleDateFormat("yyyy-MM-dd", Locale.CHINA).parse(yyyy_MM_dd);
      Calendar cal = Calendar.getInstance();  
      cal.setTime(d);         
      cal.add(Calendar.DAY_OF_YEAR, -xday);
      cal.add(Calendar.DAY_OF_YEAR, xday<=0?xday:-xday);
      Date date = cal.getTime() ;
      return DateTime.yyyy_MM_dd(date) ;
   }
@@ -960,7 +984,7 @@
      Date d = new SimpleDateFormat("yyyyMMdd", Locale.CHINA).parse(yyyyMMdd);
      Calendar cal = Calendar.getInstance();  
      cal.setTime(d);         
      cal.add(Calendar.DAY_OF_YEAR, -xday);
      cal.add(Calendar.DAY_OF_YEAR, xday<=0?xday:-xday);
      Date date = cal.getTime() ;
      return DateTime.yyyyMMdd(date) ;
   }
@@ -972,7 +996,7 @@
   public static String lastXDay_yyyy_MM_dd(int xday){
      Date date = new Date();
      Calendar cal = Calendar.getInstance();
      cal.add(Calendar.DAY_OF_YEAR, -xday);
      cal.add(Calendar.DAY_OF_YEAR, xday<=0?xday:-xday);
      date.setTime(cal.getTimeInMillis());         
      return DateTime.yyyy_MM_dd(date) ;
   }
@@ -984,7 +1008,7 @@
   public static String lastXDay_yyyy_MM_dd_HH_ss(int xday){
      Date date = new Date();
      Calendar cal = Calendar.getInstance();
      cal.add(Calendar.DAY_OF_YEAR, -xday);
      cal.add(Calendar.DAY_OF_YEAR, xday<=0?xday:-xday);
      date.setTime(cal.getTimeInMillis());         
      return DateTime.yyyy_MM_dd_HH_mm_ss(date) ;
   }
@@ -996,7 +1020,7 @@
   public static String lastXDay_yyyyMMdd(int xday){
      Date date = new Date();
      Calendar cal = Calendar.getInstance();
      cal.add(Calendar.DAY_OF_YEAR, -xday);
      cal.add(Calendar.DAY_OF_YEAR, xday<=0?xday:-xday);
      date.setTime(cal.getTimeInMillis());         
      return DateTime.yyyyMMdd(date) ;
   }
@@ -1015,7 +1039,7 @@
      Date d = new SimpleDateFormat("yyyy-MM-dd", Locale.CHINA).parse(yyyy_MM_dd);
      Calendar cal = Calendar.getInstance();  
      cal.setTime(d);         
      cal.add(Calendar.DAY_OF_YEAR, xday);
      cal.add(Calendar.DAY_OF_YEAR, xday<=0?-xday:xday);
      Date date = cal.getTime() ;
      return DateTime.yyyy_MM_dd(date) ;
   }
@@ -1029,7 +1053,7 @@
      Date d = new SimpleDateFormat("yyyyMMdd", Locale.CHINA).parse(yyyyMMdd);
      Calendar cal = Calendar.getInstance();  
      cal.setTime(d);         
      cal.add(Calendar.DAY_OF_YEAR, xday);
      cal.add(Calendar.DAY_OF_YEAR, xday<=0?-xday:xday);
      Date date = cal.getTime() ;
      return DateTime.yyyyMMdd(date) ;
   }
@@ -1041,7 +1065,7 @@
   public static String nextXDay_yyyy_MM_dd(int xday){
      Date date = new Date();
      Calendar cal = Calendar.getInstance();
      cal.add(Calendar.DAY_OF_YEAR, xday);
      cal.add(Calendar.DAY_OF_YEAR, xday<=0?-xday:xday);
      date.setTime(cal.getTimeInMillis());         
      return DateTime.yyyy_MM_dd(date) ;
   }
@@ -1053,7 +1077,7 @@
   public static String nextXDay_yyyyMMdd(int xday){
      Date date = new Date();
      Calendar cal = Calendar.getInstance();
      cal.add(Calendar.DAY_OF_YEAR, xday);
      cal.add(Calendar.DAY_OF_YEAR, xday<=0?-xday:xday);
      date.setTime(cal.getTimeInMillis());         
      return DateTime.yyyyMMdd(date) ;
   }
@@ -1568,13 +1592,7 @@
      String[] s = new String[3] ;
      s[0] = ymd.substring(0 , 4) ;
      s[1] = ymd.substring(5 , 7) ;
      if(s[1].charAt(0) == '0'){
         s[1] = s[1].substring(1) ;
      }
      s[2] = ymd.substring(8,10) ;
      if(s[2].charAt(0) == '0'){
         s[2] = s[2].substring(1) ;
      }
      return s ;
   }
   /**
@@ -1633,6 +1651,8 @@
      Date dt = getDate(1447857387L) ;
      String s = yyyy_MM_dd_HH_mm_ss(dt);
      System.out.println(s);
      System.out.println(lastMonth_ym()) ;
   }