时间格式字符串转LocalDateTime
public static LocalDateTime parseStringToDateTime(String time) {
String format = "yyyy-MM-dd HH:mm:ss";
DateTimeFormatter df = DateTimeFormatter.ofPattern(format);
return LocalDateTime.parse(time, df);
}
时间格式字符串转LocalDate
public static LocalDate parseStringToDate(String day) {
String format = "yyyy-MM-dd";
DateTimeFormatter df = DateTimeFormatter.ofPattern(format);
return LocalDate.parse(day, df);
}
获取当前时间的上个月
public static int getLastMonth() {
LocalDate date = LocalDate.now();
int lastMonth = date.minusMonths(1).getMonth().getValue();
return lastMonth;
}
获取当前时间的当前月
public static int getCurrentMonth() {
LocalDate date = LocalDate.now();
int lastMonth = date.getMonth().getValue();
return lastMonth;
}
获取当前日期
public static int getCurrentDay() {
LocalDate date = LocalDate.now();
int day = date.getDayOfMonth();
return day;
}
获取今天日期,年月日格式
public static String getCurday() {
LocalDate date = LocalDate.now();
DateTimeFormatter formatter = DateTimeFormatter.ofPattern("yyyy-MM-dd");
return formatter.format(date);
}
获取昨天,年月日格式
public static String getYesterday() {
LocalDate date = LocalDate.now();
LocalDate yesterday = date.plusDays(-1);
DateTimeFormatter formatter = DateTimeFormatter.ofPattern("yyyy-MM-dd");
return formatter.format(yesterday);
}
获取某天的几天前的日期,年月日格式
public static String getbeforeDays(String appointDay,int days) {
LocalDate date = parseStringToDate(appointDay);
LocalDate beforeday = date.plusDays(-days);
DateTimeFormatter formatter = DateTimeFormatter.ofPattern("yyyy-MM-dd");
return formatter.format(beforeday);
}
获取当前时间的上个月的所在年份
public static int getLastMonthYear() {
LocalDate date = LocalDate.now();
int lastMonthYear = date.minusMonths(1).getYear();
return lastMonthYear;
}
获取当前时间的上个月的所在年份
public static int getCurrentYear() {
LocalDate date = LocalDate.now();
int currentYear = date.getYear();
return currentYear;
}
上期账单的期初时间点, 上个月的25号00:00:00,注,在筛选数据时大于等于此时间点
public static String getLastMonthPeriodInitialTime() {
int currentDay = getCurrentDay();
int year = getLastMonthYear();
int month = getLastMonth() - 1;
if (currentDay >= 25) {
month = getLastMonth();
}
String monthString = month < 10 ? "0" + month : month + "";
String lastMonthInitialPeriodTime = year + "-" + monthString + "-" + "25 00:00:00";
return lastMonthInitialPeriodTime;
}
上期账单的期末时间点,当前月份的25号00:00:00,注,在筛选数据时,小于此时间点,不能等于
public static String getLastPeriodMonthEndTime() {
int currentDay = getCurrentDay();
int month = getCurrentMonth();
if (currentDay < 25) {
month = getLastMonth();
}
int year = getLastMonthYear();
if (month == 1) {
year = getCurrentYear();
}
String monthString = month < 10 ? "0" + month : month + "";
String lastMonthInitialPeriodTime = year + "-" + monthString + "-" + "25 00:00:00";
return lastMonthInitialPeriodTime;
}
上个账期的年份
public static int getLastPeriodYear() {
int currentDay = getCurrentDay();
int month = getCurrentMonth();
if (currentDay < 25) {
month = getLastMonth();
}
int year = getLastMonthYear();
if (month == 1) {
year = getCurrentYear();
}
return year;
}
上个账期的月份
public static int getLastPeriodMonth() {
int currentDay = getCurrentDay();
int month = getCurrentMonth();
if (currentDay < 25) {
month = getLastMonth();
}
return month;
}
账单的期初时间点, 某年某月的25号00:00:00,注,在筛选数据时大于等于此时间点
public static String getPeriodStartTime(int year, int month) {
if (month == 1) {
month = 12;
year = year - 1;
} else {
month = month - 1;
}
String monthString = month < 10 ? "0" + month : month + "";
String periodStartTime = year + "-" + monthString + "-" + "25 00:00:00";
return periodStartTime;
}
账单的期末时间点,某年某月份的25号00:00:00,注,在筛选数据时,小于此时间点,不能等于
public static String getPeriodEndTime(int year, int month) {
String monthString = month < 10 ? "0" + month : month + "";
String periodEndTime = year + "-" + monthString + "-" + "25 00:00:00";
return periodEndTime;
}
获取上个账期的年
public static int getLastPeriodYear(int year, int month) {
if (month == 1) {
year = year - 1;
}
int lastPeriodYear = year;
return lastPeriodYear;
}
获取上个账期的月
public static int getLastPeriodMonth(int year, int month) {
if (month == 1) {
month = 12;
} else {
month = month - 1;
}
int lastPeriodMonth = month;
return lastPeriodMonth;
}