Просмотр исходного кода

待完成版 提交一份代码备份

danchaofan1412 3 лет назад
Родитель
Сommit
7a106ffd4a

+ 56 - 0
framework-common/src/main/java/com/mrxu/framework/common/util/DateFunc.java

@@ -115,6 +115,37 @@ public class DateFunc {
         return new SimpleDateFormat(TIME_END_FORMAT).format(time);
     }
 
+    /**
+     * 获取上周的开始时刻
+     */
+    public static String getPreWeekStart() {
+        Calendar cal = Calendar.getInstance();
+        //如果当天为周日,则转为上一周的周日
+        if (cal.get(Calendar.DAY_OF_WEEK) == cal.getActualMinimum(Calendar.DAY_OF_WEEK)) {
+            cal.add(Calendar.WEEK_OF_YEAR, -1);
+        }
+        cal.set(Calendar.DAY_OF_WEEK, 2);
+
+        cal.add(Calendar.DAY_OF_MONTH, -7);
+        Date time = cal.getTime();
+        return new SimpleDateFormat(TIME_START_FORMAT).format(time);
+    }
+
+    /**
+     * 获取上周结束的时刻
+     **/
+    public static String getPreWeekEnd() {
+        Calendar cal = Calendar.getInstance();
+        //如果当天为非周日,则为下一周的周日
+        if (cal.get(Calendar.DAY_OF_WEEK) != cal.getActualMinimum(Calendar.DAY_OF_WEEK)) {
+            cal.add(Calendar.WEEK_OF_YEAR, 1);
+            cal.set(Calendar.DAY_OF_WEEK, cal.getActualMinimum(Calendar.DAY_OF_WEEK));
+        }
+        cal.add(Calendar.DAY_OF_MONTH, -7);
+        Date time = cal.getTime();
+        return new SimpleDateFormat(TIME_END_FORMAT).format(time);
+    }
+
     /**
      * 获取上月月开始时刻
      **/
@@ -222,6 +253,31 @@ public class DateFunc {
         return new SimpleDateFormat(TIME_END_FORMAT).format(currYearLast);
     }
 
+
+    /**
+     * 获取去年开始时刻
+     **/
+    public static String getPreYearStart() {
+        Calendar cal = Calendar.getInstance();
+        cal.add(Calendar.YEAR, -1);
+        cal.set(Calendar.MONTH, 1);
+        cal.set(Calendar.DAY_OF_MONTH, 1);
+        Date time = cal.getTime();
+        return new SimpleDateFormat(TIME_START_FORMAT).format(time);
+    }
+
+    /**
+     * 获取去年最后时刻
+     **/
+    public static String getPreYearEnd() {
+        Calendar cal = Calendar.getInstance();
+        cal.add(Calendar.YEAR, -1);
+        cal.set(Calendar.MONTH, 12);
+        cal.set(Calendar.DAY_OF_MONTH, cal.getActualMaximum(Calendar.DAY_OF_MONTH));
+        Date time = cal.getTime();
+        return new SimpleDateFormat(TIME_END_FORMAT).format(time);
+    }
+
     /**
      * 获取最近days日开始时刻
      **/