|
@@ -0,0 +1,179 @@
|
|
|
+package com.zhongzheng.modules.top.util;
|
|
|
+
|
|
|
+import java.sql.Timestamp;
|
|
|
+import java.text.SimpleDateFormat;
|
|
|
+import java.util.ArrayList;
|
|
|
+import java.util.Calendar;
|
|
|
+import java.util.Date;
|
|
|
+import java.util.GregorianCalendar;
|
|
|
+import java.util.List;
|
|
|
+
|
|
|
+/**
|
|
|
+ * @program: saas_entrepot
|
|
|
+ * @description: DateUtil
|
|
|
+ * @author: zhu
|
|
|
+ * @create: 2023-09-20 13:52
|
|
|
+ */
|
|
|
+public class DateUtil {
|
|
|
+
|
|
|
+ public static final SimpleDateFormat formatter = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss.SSS");
|
|
|
+
|
|
|
+ //获取当天开始时间截
|
|
|
+ public static Long getStaDate()
|
|
|
+ {
|
|
|
+ Calendar cal = new GregorianCalendar();
|
|
|
+ cal.set(Calendar.HOUR_OF_DAY, 0);
|
|
|
+ cal.set(Calendar.MINUTE, 0);
|
|
|
+ cal.set(Calendar.SECOND, 0);
|
|
|
+ cal.set(Calendar.MILLISECOND, 0);
|
|
|
+ return cal.getTimeInMillis()/1000;
|
|
|
+ }
|
|
|
+ //获取当天结束时间截
|
|
|
+ public static Long getEndDate()
|
|
|
+ {
|
|
|
+ Calendar cal = new GregorianCalendar();
|
|
|
+ cal.set(Calendar.HOUR_OF_DAY, 23);
|
|
|
+ cal.set(Calendar.MINUTE, 59);
|
|
|
+ cal.set(Calendar.SECOND, 59);
|
|
|
+ return cal.getTimeInMillis();
|
|
|
+ }
|
|
|
+
|
|
|
+ public static Timestamp getBeginDayOfWeek() {
|
|
|
+ Date date = new Date();
|
|
|
+ if (date == null) {
|
|
|
+ return null;
|
|
|
+ }
|
|
|
+ Calendar cal = Calendar.getInstance();
|
|
|
+ cal.setTime(date);
|
|
|
+ int dayofweek = cal.get(Calendar.DAY_OF_WEEK);
|
|
|
+ if (dayofweek == 1) {
|
|
|
+ dayofweek += 7;
|
|
|
+ }
|
|
|
+ cal.add(Calendar.DATE, 2 - dayofweek);
|
|
|
+ return getDayStartTime(cal.getTime());
|
|
|
+ }
|
|
|
+
|
|
|
+ //获取当前周开始时间截
|
|
|
+ public static Long getStaWeekDate()
|
|
|
+ {
|
|
|
+ return getBeginDayOfWeek().getTime()/1000;
|
|
|
+ }
|
|
|
+ //获取当前周结束时间截
|
|
|
+ public static Long getEndWeekDate()
|
|
|
+ {
|
|
|
+ Calendar cal = Calendar.getInstance();
|
|
|
+ cal.setTime(getBeginDayOfWeek());
|
|
|
+ cal.add(Calendar.DAY_OF_WEEK, 6);
|
|
|
+ Date weekEndSta = cal.getTime();
|
|
|
+ return getDayEndTime(weekEndSta).getTime()/1000;
|
|
|
+ }
|
|
|
+ //获取当前月开始时间截
|
|
|
+ public static Long getStaMonthDate()
|
|
|
+ {
|
|
|
+ Calendar calendar = Calendar.getInstance();
|
|
|
+ calendar.set(getNowYear(), getNowMonth() - 1, 1);
|
|
|
+ return getDayStartTime(calendar.getTime()).getTime()/1000;
|
|
|
+ }
|
|
|
+ //获取当前月结束时间截
|
|
|
+ public static Long getEndMonthDate()
|
|
|
+ {
|
|
|
+ Calendar calendar = Calendar.getInstance();
|
|
|
+ calendar.set(getNowYear(), getNowMonth() - 1, 1);
|
|
|
+ int day = calendar.getActualMaximum(5);
|
|
|
+ calendar.set(getNowYear(), getNowMonth() - 1, day);
|
|
|
+ return getDayEndTime(calendar.getTime()).getTime()/1000;
|
|
|
+ }
|
|
|
+ // 获取本年的开始时间
|
|
|
+ public static Long getBeginDayOfYear() {
|
|
|
+ Calendar cal = Calendar.getInstance();
|
|
|
+ cal.set(Calendar.YEAR, getNowYear());
|
|
|
+ // cal.set
|
|
|
+ cal.set(Calendar.MONTH, Calendar.JANUARY);
|
|
|
+ cal.set(Calendar.DATE, 1);
|
|
|
+ return getDayStartTime(cal.getTime()).getTime()/1000;
|
|
|
+ }
|
|
|
+
|
|
|
+ // 获取本年的结束时间
|
|
|
+ public static Long getEndDayOfYear() {
|
|
|
+ Calendar cal = Calendar.getInstance();
|
|
|
+ cal.set(Calendar.YEAR, getNowYear());
|
|
|
+ cal.set(Calendar.MONTH, Calendar.DECEMBER);
|
|
|
+ cal.set(Calendar.DATE, 31);
|
|
|
+ return getDayEndTime(cal.getTime()).getTime()/1000;
|
|
|
+ }
|
|
|
+
|
|
|
+ //获取当前时间上次(周,月,年)---type=1周,2月,3年
|
|
|
+ public static Long getUpTime(Long time,Integer type)
|
|
|
+ {
|
|
|
+ Date dates = new Date(time*1000);
|
|
|
+ System.out.println("时间截时间:::"+formatter.format(dates));
|
|
|
+ System.out.println(dates.getMonth());
|
|
|
+ Calendar cal = Calendar.getInstance();
|
|
|
+ cal.setTime(dates);
|
|
|
+ switch (type){
|
|
|
+ /*case 1:
|
|
|
+ cal.add(Calendar.DATE,-1);
|
|
|
+ break;*/
|
|
|
+ case 1:
|
|
|
+ cal.add(Calendar.WEDNESDAY,-1);
|
|
|
+ break;
|
|
|
+ case 2:
|
|
|
+ cal.add(Calendar.MONTH,-1);
|
|
|
+ break;
|
|
|
+ case 3:
|
|
|
+ cal.add(Calendar.YEAR,-1);
|
|
|
+ break;
|
|
|
+ }
|
|
|
+ System.out.println("操作后"+formatter.format(cal.getTime()));
|
|
|
+ return cal.getTimeInMillis()/1000;
|
|
|
+ }
|
|
|
+ public static void main(String[] args){
|
|
|
+ Long t = Long.valueOf(1695265459);
|
|
|
+ getUpTime(t,4);
|
|
|
+ }
|
|
|
+ //获取去年当前时间
|
|
|
+ public static Long getBeTime(Long time)
|
|
|
+ {
|
|
|
+ Date dates = new Date(time*1000);
|
|
|
+ Calendar cal = Calendar.getInstance();
|
|
|
+ cal.setTime(dates);
|
|
|
+ cal.add(Calendar.YEAR,-1);
|
|
|
+ return cal.getTimeInMillis()/1000;
|
|
|
+ }
|
|
|
+ // 获取某个日期的开始时间
|
|
|
+ public static Timestamp getDayStartTime(Date d) {
|
|
|
+ Calendar calendar = Calendar.getInstance();
|
|
|
+ if (null != d)
|
|
|
+ calendar.setTime(d);
|
|
|
+ calendar.set(calendar.get(Calendar.YEAR), calendar.get(Calendar.MONTH), calendar.get(Calendar.DAY_OF_MONTH), 0,
|
|
|
+ 0, 0);
|
|
|
+ calendar.set(Calendar.MILLISECOND, 0);
|
|
|
+ return new Timestamp(calendar.getTimeInMillis());
|
|
|
+ }
|
|
|
+
|
|
|
+ // 获取某个日期的结束时间
|
|
|
+ public static Timestamp getDayEndTime(Date d) {
|
|
|
+ Calendar calendar = Calendar.getInstance();
|
|
|
+ if (null != d)
|
|
|
+ calendar.setTime(d);
|
|
|
+ calendar.set(calendar.get(Calendar.YEAR), calendar.get(Calendar.MONTH), calendar.get(Calendar.DAY_OF_MONTH), 23,
|
|
|
+ 59, 59);
|
|
|
+ calendar.set(Calendar.MILLISECOND, 999);
|
|
|
+ return new Timestamp(calendar.getTimeInMillis());
|
|
|
+ }
|
|
|
+ // 获取今年是哪一年
|
|
|
+ public static Integer getNowYear() {
|
|
|
+ Date date = new Date();
|
|
|
+ GregorianCalendar gc = (GregorianCalendar) Calendar.getInstance();
|
|
|
+ gc.setTime(date);
|
|
|
+ return Integer.valueOf(gc.get(1));
|
|
|
+ }
|
|
|
+
|
|
|
+ // 获取本月是哪个月
|
|
|
+ public static int getNowMonth() {
|
|
|
+ Date date = new Date();
|
|
|
+ GregorianCalendar gc = (GregorianCalendar) Calendar.getInstance();
|
|
|
+ gc.setTime(date);
|
|
|
+ return gc.get(2) + 1;
|
|
|
+ }
|
|
|
+}
|