|
@@ -1,97 +1,167 @@
|
|
|
package com.jihengbel.intelligent.applicationtask.common;
|
|
|
|
|
|
+import cn.hutool.core.date.DateTime;
|
|
|
+
|
|
|
import java.text.ParseException;
|
|
|
import java.text.SimpleDateFormat;
|
|
|
+import java.time.LocalDateTime;
|
|
|
+import java.time.format.DateTimeFormatter;
|
|
|
+import java.time.temporal.WeekFields;
|
|
|
+import java.util.ArrayList;
|
|
|
import java.util.Calendar;
|
|
|
import java.util.Date;
|
|
|
+import java.util.Locale;
|
|
|
|
|
|
public class CommonUtil {
|
|
|
|
|
|
/**
|
|
|
* 时间转字符串
|
|
|
+ *
|
|
|
* @param date
|
|
|
* @param format
|
|
|
* @return
|
|
|
*/
|
|
|
- public static String getDateStr(Date date , String format){//"yyyy-MM-dd HH:mm:ss"
|
|
|
+ public static String getDateStr(Date date, String format) {//"yyyy-MM-dd HH:mm:ss"
|
|
|
SimpleDateFormat sdf = new SimpleDateFormat(format);
|
|
|
return sdf.format(date);
|
|
|
}
|
|
|
|
|
|
/**
|
|
|
* 获取时间是星期几
|
|
|
+ *
|
|
|
* @param date
|
|
|
* @return
|
|
|
*/
|
|
|
public static int getWeekOfDate(Date date) {
|
|
|
- int[] weekDays = { 7, 1, 2, 3, 4,5, 6 };
|
|
|
+ int[] weekDays = {7, 1, 2, 3, 4, 5, 6};
|
|
|
Calendar cal = Calendar.getInstance();
|
|
|
cal.setTime(date);
|
|
|
int w = cal.get(Calendar.DAY_OF_WEEK) - 1;
|
|
|
- return weekDays[w<0?0:w];
|
|
|
+ return weekDays[w < 0 ? 0 : w];
|
|
|
|
|
|
}
|
|
|
|
|
|
/**
|
|
|
* 获取时间是这个月几号
|
|
|
+ *
|
|
|
* @param date
|
|
|
* @return
|
|
|
*/
|
|
|
public static int getMonthOfDate(Date date) {
|
|
|
Calendar newTime = Calendar.getInstance();
|
|
|
newTime.setTime(date);
|
|
|
- return newTime.get(Calendar.DAY_OF_MONTH);
|
|
|
+ return newTime.get(Calendar.DAY_OF_MONTH);
|
|
|
}
|
|
|
|
|
|
|
|
|
/**
|
|
|
* 添加多少分钟的时间
|
|
|
+ *
|
|
|
* @param date
|
|
|
* @param format
|
|
|
* @param min
|
|
|
* @return
|
|
|
*/
|
|
|
- public static Date getStrDate(String date , String format,int min) throws ParseException {//"yyyy-MM-dd HH:mm:ss"
|
|
|
+ public static Date getStrDate(String date, String format, int min) throws ParseException {//"yyyy-MM-dd HH:mm:ss"
|
|
|
SimpleDateFormat sdf = new SimpleDateFormat(format);
|
|
|
- Date current= sdf.parse(date);
|
|
|
+ Date current = sdf.parse(date);
|
|
|
Calendar newTime = Calendar.getInstance();
|
|
|
newTime.setTime(current);
|
|
|
- newTime.add(Calendar.MINUTE,min);
|
|
|
+ newTime.add(Calendar.MINUTE, min);
|
|
|
return newTime.getTime();
|
|
|
}
|
|
|
|
|
|
/**
|
|
|
- * 获取当前时间是不是大野提醒时间大于需要提醒
|
|
|
+ * 获取当前时间是不是大野提醒时间大于需要提醒
|
|
|
+ *
|
|
|
* @param changeTime
|
|
|
* @param now
|
|
|
* @return
|
|
|
* @throws ParseException
|
|
|
*/
|
|
|
- public static boolean getDateCompare(Date changeTime , Date now , boolean flag) throws ParseException {
|
|
|
+ public static boolean getDateCompare(Date changeTime, Date now, boolean flag) throws ParseException {
|
|
|
Calendar c1 = Calendar.getInstance();
|
|
|
c1.setTime(changeTime);
|
|
|
Calendar c2 = Calendar.getInstance();
|
|
|
c2.setTime(now);
|
|
|
- if(!flag){
|
|
|
- if(c1.compareTo(c2)>0 ){
|
|
|
+ if (!flag) {
|
|
|
+ if (c1.compareTo(c2) > 0) {
|
|
|
return false;
|
|
|
- }else{
|
|
|
+ } else {
|
|
|
return true;
|
|
|
}
|
|
|
- }else{
|
|
|
- if(c1.compareTo(c2)==-1 ){
|
|
|
+ } else {
|
|
|
+ if (c1.compareTo(c2) == -1) {
|
|
|
return true;
|
|
|
- }else{
|
|
|
+ } else {
|
|
|
return false;
|
|
|
}
|
|
|
}
|
|
|
|
|
|
}
|
|
|
|
|
|
+ /**
|
|
|
+ * 获取指定月份的时间
|
|
|
+ *
|
|
|
+ * @param month
|
|
|
+ * @param maxday
|
|
|
+ * @return
|
|
|
+ */
|
|
|
+ public static String[] getDayForMonthAndDay(Date date, int maxday) {
|
|
|
+ String[] time=new String[2];
|
|
|
+ Calendar end = Calendar.getInstance();
|
|
|
+ end.setTime(date);
|
|
|
+ int lastDay = 0;
|
|
|
+ if (end.get(Calendar.MONTH)+1 == 2) {
|
|
|
+ lastDay = end.getLeastMaximum(Calendar.DAY_OF_MONTH);
|
|
|
+ } else {
|
|
|
+ lastDay = end.getActualMaximum(Calendar.DAY_OF_MONTH);
|
|
|
+ }
|
|
|
+ if (maxday <= lastDay) {
|
|
|
+ lastDay = maxday;
|
|
|
+ }
|
|
|
+ end.set(Calendar.DAY_OF_MONTH, lastDay);
|
|
|
|
|
|
+ Calendar start = Calendar.getInstance();
|
|
|
+ start.setTime(date);
|
|
|
+ start.set(Calendar.DAY_OF_MONTH, 1);
|
|
|
+ // 格式化日期
|
|
|
+ SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd");
|
|
|
+ time[0]=sdf.format(start.getTime());
|
|
|
+ time[1]=sdf.format(end.getTime());
|
|
|
+ return time;
|
|
|
+ }
|
|
|
|
|
|
|
|
|
+ /**
|
|
|
+ * 获取一周的前后时间
|
|
|
+ * @param date
|
|
|
+ * @return
|
|
|
+ */
|
|
|
+ public static String[] getWeekStartEnd(Date date) {
|
|
|
+ String[] time=new String[2];
|
|
|
+ SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd");
|
|
|
+ int c = getWeekOfDate(date);
|
|
|
+ Calendar begin = Calendar.getInstance();
|
|
|
+ begin.setTime(date);
|
|
|
+ Calendar end = Calendar.getInstance();
|
|
|
+ end.setTime(date);
|
|
|
+ begin.add(Calendar.DAY_OF_MONTH, -(c - 1));
|
|
|
+ time[0]=sdf.format(begin.getTime());
|
|
|
+ end.add(Calendar.DAY_OF_MONTH, (7-c));
|
|
|
+ time[1]=sdf.format(end.getTime());
|
|
|
+ return time;
|
|
|
+ }
|
|
|
+
|
|
|
public static void main(String[] args) throws ParseException {
|
|
|
- // getDateCompare(getStrDate("2011-11-11 10:00" , "yyyy-MM-dd HH:mm",120) , new Date());
|
|
|
+
|
|
|
+ Calendar calendar = Calendar.getInstance();
|
|
|
+ int c = getWeekOfDate(calendar.getTime());
|
|
|
+// calendar.add(Calendar.DAY_OF_MONTH, -(c - 1));
|
|
|
+ System.out.println(calendar.getTime());
|
|
|
+ calendar.add(Calendar.DAY_OF_MONTH, (7-c));
|
|
|
+ System.out.println(calendar.getTime());
|
|
|
+// calendar.add(Calendar.DAY_OF_MONTH, -(c - 1));
|
|
|
+
|
|
|
}
|
|
|
}
|