You've already forked FrameTour-BE
实现“支付订单金额、预览_支付转化率、扫码_付费用户转化率”和“支付订单数、现场订单数、推送订单数统计”
This commit is contained in:
@ -27,18 +27,11 @@ public class DateUtils {
|
||||
public final static String YYYY_MM = "yyyyMM";
|
||||
public final static String YYYY_MM_DD_HH_MM_SS_SSS = "yyyyMMddHHmmssSSS";
|
||||
public static String YYYY_MM_DD_HH_MM_SS = "yyyy-MM-dd HH:mm:ss";
|
||||
/**
|
||||
* 时间格式(yyyy-MM-dd HH:mm:ss)
|
||||
*/
|
||||
public final static String DATE_TIME_PATTERN = "yyyy-MM-dd HH:mm:ss";
|
||||
/**
|
||||
* 日期转化为cron表达式
|
||||
*/
|
||||
public final static String CRON_DATE_TIME_PATTERN = "ss mm HH dd MM ? yyyy";
|
||||
|
||||
/**
|
||||
* 日期格式化 日期格式为:yyyy-MM-dd
|
||||
*
|
||||
* @param date 日期
|
||||
* @return 返回yyyy-MM-dd格式日期
|
||||
*/
|
||||
@ -47,8 +40,7 @@ public class DateUtils {
|
||||
}
|
||||
|
||||
/**
|
||||
* 日期格式化 日期格式为:yyyy-MM-dd
|
||||
*
|
||||
* 日期格式化 自定义格式
|
||||
* @param date 日期
|
||||
* @param pattern 格式,如:DateUtils.DATE_TIME_PATTERN
|
||||
* @return 返回yyyy-MM-dd格式日期
|
||||
@ -63,21 +55,19 @@ public class DateUtils {
|
||||
|
||||
|
||||
/**
|
||||
* 日期格式化 日期格式为:yyyy-MM-dd HH:mm:ss
|
||||
*
|
||||
* @param dataStr
|
||||
* @return 返回yyyy-MM-dd格式日期
|
||||
* 日期解析 日期格式为:yyyy-MM-dd HH:mm:ss
|
||||
* @param dataStr 日期字符串
|
||||
* @return 返回yyyy-MM-dd HH:mm:ss格式日期
|
||||
*/
|
||||
public static Date format(String dataStr) throws ParseException {
|
||||
public static Date parse(String dataStr) throws ParseException {
|
||||
SimpleDateFormat sdf = new SimpleDateFormat(DATE_TIME_PATTERN);
|
||||
return sdf.parse(dataStr);
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
* 日期解析
|
||||
*
|
||||
* @param date 日期
|
||||
* 日期解析 自定义格式
|
||||
* @param date 日期字符串
|
||||
* @param pattern 格式,如:DateUtils.DATE_TIME_PATTERN
|
||||
* @return 返回Date
|
||||
*/
|
||||
@ -98,21 +88,27 @@ public class DateUtils {
|
||||
*/
|
||||
@SneakyThrows
|
||||
public static Date startOfDay(Date date) {
|
||||
SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd");
|
||||
String s = sdf.format(date);
|
||||
return sdf.parse(s);
|
||||
Calendar calendar = Calendar.getInstance();
|
||||
calendar.setTime(date);
|
||||
// 将时间部分设置为00:00:00.000
|
||||
calendar.set(Calendar.HOUR_OF_DAY, 0);
|
||||
calendar.set(Calendar.MINUTE, 0);
|
||||
calendar.set(Calendar.SECOND, 0);
|
||||
calendar.set(Calendar.MILLISECOND, 0);
|
||||
return calendar.getTime();
|
||||
}
|
||||
|
||||
/**
|
||||
* 这个月的第一天
|
||||
*
|
||||
* @param date 日期
|
||||
* @return
|
||||
*/
|
||||
public static Date startOfMonth(Date date) {
|
||||
Date date1 = startOfDay(date);
|
||||
date1.setDate(1);
|
||||
return date1;
|
||||
Calendar cal = Calendar.getInstance();
|
||||
cal.setTime(date1);
|
||||
cal.set(Calendar.DAY_OF_MONTH,1);
|
||||
return cal.getTime();
|
||||
}
|
||||
|
||||
/**
|
||||
@ -142,8 +138,7 @@ public class DateUtils {
|
||||
}
|
||||
|
||||
/**
|
||||
* 获得某月最大时间 2019-10-08 23:59:59
|
||||
*
|
||||
* 获得某月最大时间
|
||||
* @param date
|
||||
* @return
|
||||
*/
|
||||
@ -156,6 +151,11 @@ public class DateUtils {
|
||||
return getEndOfDay(localDateTimeToDate(endOfDay));
|
||||
}
|
||||
|
||||
/**
|
||||
* 获得某天最大时间
|
||||
* @param date
|
||||
* @return
|
||||
*/
|
||||
public static Date getStartMonthOfDay(Date date) {
|
||||
if (date == null) {
|
||||
return null;
|
||||
@ -243,8 +243,7 @@ public class DateUtils {
|
||||
}
|
||||
|
||||
/**
|
||||
* 获得某天最小时间 2019-10-08 00:00:00
|
||||
*
|
||||
* 获得某天最小时间
|
||||
* @param date
|
||||
* @return
|
||||
*/
|
||||
@ -258,8 +257,7 @@ public class DateUtils {
|
||||
}
|
||||
|
||||
/**
|
||||
* 获得某天最大时间 2019-10-08 23:59:59
|
||||
*
|
||||
* 获得某天最大时间
|
||||
* @param date
|
||||
* @return
|
||||
*/
|
||||
@ -274,7 +272,6 @@ public class DateUtils {
|
||||
|
||||
/**
|
||||
* localDateTime 转date
|
||||
*
|
||||
* @param localDateTime
|
||||
* @return
|
||||
*/
|
||||
@ -284,7 +281,6 @@ public class DateUtils {
|
||||
|
||||
/**
|
||||
* 将秒转为时分秒格式【01:01:01】
|
||||
*
|
||||
* @param second 需要转化的秒数
|
||||
* @return
|
||||
*/
|
||||
@ -308,19 +304,17 @@ public class DateUtils {
|
||||
return str;
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
*
|
||||
* @param date
|
||||
* @return
|
||||
*/
|
||||
public static String getWeekOfDate(Date date) {
|
||||
String[] weekDays = {"1", "2", "3", "4", "5", "6", "7"}; //"星期日", "星期一", "星期二", "星期三", "星期四", "星期五", "星期六"
|
||||
String[] weekDays = {"7", "1", "2", "3", "4", "5", "6"}; // "星期日", "星期一", "星期二", "星期三", "星期四", "星期五", "星期六"
|
||||
Calendar cal = Calendar.getInstance();
|
||||
cal.setTime(date);
|
||||
int w = cal.get(Calendar.DAY_OF_WEEK) - 1;
|
||||
if (w < 0)
|
||||
w = 0;
|
||||
if (Integer.valueOf(weekDays[w]) >= 2) {
|
||||
return String.valueOf(Integer.valueOf(weekDays[w]) - 1);
|
||||
} else {
|
||||
return String.valueOf(7);
|
||||
}
|
||||
int w = cal.get(Calendar.DAY_OF_WEEK) - 1; // 将星期日转换为7
|
||||
return weekDays[w]; // 直接返回对应的星期数
|
||||
}
|
||||
|
||||
/**
|
||||
@ -422,6 +416,11 @@ public class DateUtils {
|
||||
}
|
||||
return timesList;
|
||||
}
|
||||
|
||||
/**
|
||||
* 获取24小时制的时间
|
||||
* @return
|
||||
*/
|
||||
public static List<String> getAllTimesBetweenDates(){
|
||||
// 创建一个字符串数组,容量为24
|
||||
String[] times24 = new String[24];
|
||||
@ -435,16 +434,65 @@ public class DateUtils {
|
||||
return new ArrayList<>(Arrays.asList(times24));
|
||||
}
|
||||
|
||||
/**
|
||||
* 在指定日期上增加i年,负数为减少i年
|
||||
* @param date 指定的日期
|
||||
* @param i 增加/减少的年数
|
||||
* @return
|
||||
*/
|
||||
public static Date addDateYears(Date date, int i) {
|
||||
Calendar calendar = Calendar.getInstance();
|
||||
calendar.setTime(date);
|
||||
calendar.add(Calendar.YEAR, i);
|
||||
return calendar.getTime();
|
||||
}
|
||||
|
||||
/**
|
||||
* 在指定日期上增加i月,负数为减少i月
|
||||
* @param date
|
||||
* @param i
|
||||
* @return
|
||||
*/
|
||||
public static Date addDateMonths(Date date, int i) {
|
||||
Calendar calendar = Calendar.getInstance();
|
||||
calendar.setTime(date);
|
||||
calendar.add(Calendar.MONTH, i);
|
||||
return calendar.getTime();
|
||||
}
|
||||
|
||||
/**
|
||||
* 在指定日期上增加i周,负数为减少i周
|
||||
* @param date
|
||||
* @param i
|
||||
* @return
|
||||
*/
|
||||
public static Date addDateWeeks(Date date, int i) {
|
||||
Calendar calendar = Calendar.getInstance();
|
||||
calendar.setTime(date);
|
||||
calendar.add(Calendar.WEEK_OF_YEAR, i);
|
||||
return calendar.getTime();
|
||||
}
|
||||
|
||||
/**
|
||||
* 在指定日期上增加i天,负数为减少i天
|
||||
* @param date
|
||||
* @param i
|
||||
* @return
|
||||
*/
|
||||
public static Date addDateDays(Date date, int i) {
|
||||
Calendar calendar = Calendar.getInstance();
|
||||
calendar.setTime(date);
|
||||
calendar.add(Calendar.DAY_OF_YEAR, i);
|
||||
return calendar.getTime();
|
||||
}
|
||||
|
||||
public static void main(String[] args) {
|
||||
// System.out.println(getWeekOfDate(stringToDate("2023-07-31 00:00:00", DATE_TIME_PATTERN)));
|
||||
// String ss = "2,3,4,5,6,7";
|
||||
// System.out.println(ss.contains(getWeekOfDate(stringToDate("2023-07-31 00:00:00", DATE_TIME_PATTERN))));
|
||||
// System.out.println(stringToDate("2020-03-23",DATE_PATTERN));
|
||||
// System.out.println("2020-03-23".length());
|
||||
// Date monthLastDay = endOfNextMonth(new Date());
|
||||
// System.out.println(format(monthLastDay,DATE_TIME_PATTERN));
|
||||
// String s = secondConvertHourMinSecond(360L);
|
||||
// System.out.println(s);
|
||||
Date date = new Date();
|
||||
Date yesterday = DateUtils.addDateDays(date, -1);
|
||||
Date startDate = DateUtils.getStartOfDay(yesterday);
|
||||
Date endDate = DateUtils.getEndOfDay(yesterday);
|
||||
System.out.println(format(startDate, "yyyy-MM-dd HH:mm:ss"));
|
||||
System.out.println(format(endDate, "yyyy-MM-dd HH:mm:ss"));
|
||||
|
||||
}
|
||||
}
|
||||
|
Reference in New Issue
Block a user