废话不多说 直接上代码
时间工具类
public class DateUtils {
public static String changeweekOne(String time) {
SimpleDateFormat sdr = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
long lcc = Long.valueOf(time);
int i = Integer.parseInt(time);
String times = sdr.format(new Date(i * 1000L));
Date date = null;
int mydate = 0;
String week = null;
try {
date = sdr.parse(times);
Calendar cd = Calendar.getInstance();
cd.setTime(date);
mydate = cd.get(Calendar.DAY_OF_WEEK);
} catch (Exception e) {
e.printStackTrace();
}
if (mydate == 1) {
week = "星期日";
} else if (mydate == 2) {
week = "星期一";
} else if (mydate == 3) {
week = "星期二";
} else if (mydate == 4) {
week = "星期三";
} else if (mydate == 5) {
week = "星期四";
} else if (mydate == 6) {
week = "星期五";
} else if (mydate == 7) {
week = "星期六";
}
return week;
}
public String week(String time) {
Date date = null;
SimpleDateFormat sdr = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
int mydate = 0;
String week = null;
try {
date = sdr.parse(time);
Calendar cd = Calendar.getInstance();
cd.setTime(date);
mydate = cd.get(Calendar.DAY_OF_WEEK);
} catch (Exception e) {
e.printStackTrace();
}
if (mydate == 1) {
week = "星期日";
} else if (mydate == 2) {
week = "星期一";
} else if (mydate == 3) {
week = "星期二";
} else if (mydate == 4) {
week = "星期三";
} else if (mydate == 5) {
week = "星期四";
} else if (mydate == 6) {
week = "星期五";
} else if (mydate == 7) {
week = "星期六";
}
return week;
}
public static int compare(Date date1, Date date2) {
try {
if (date1.getTime() > date2.getTime()) {
return 1;
} else if (date1.getTime() < date2.getTime()) {
return -1;
} else {
return 0;
}
} catch (Exception exception) {
exception.printStackTrace();
}
return 0;
}
public static int compareMonth(Date date1, Date date2) {
try {
if (date1.getMonth() > date2.getMonth()) {
return 1;
} else if (date1.getMonth() < date2.getMonth()) {
return -1;
} else {
return 0;
}
} catch (Exception exception) {
exception.printStackTrace();
}
return 0;
}
public static final DateFormat YYYY_MM_DD_MM_HH_SS = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
public static String getDateTime() {
return YYYY_MM_DD_MM_HH_SS.format(new Date());
}
public static Date stringToDate(String dateString) throws Exception {
return YYYY_MM_DD_MM_HH_SS.parse(dateString);
}
public static final DateFormat YYYY_MM_DD = new SimpleDateFormat("yyyy-MM-dd");
public static String getStringDate() {
return YYYY_MM_DD.format(new Date());
}
public static Date getDate() {
return strToYYMMDDDate(YYYY_MM_DD.format(new Date()));
}
public static Date strToYYMMDDDate(String dateString) {
Date date = null;
try {
date = YYYY_MM_DD.parse(dateString);
} catch (ParseException e) {
e.printStackTrace();
}
return date;
}
public static long diffDays(Date startDate, Date endDate) {
long days = 0L;
long start = startDate.getTime();
long end = endDate.getTime();
days = (end - start) / 86400000L;
return days;
}
public static String timeStr(String time) {
long lcc = Long.valueOf(time);
String times = YYYY_MM_DD_MM_HH_SS.format(new Date(lcc));
return times;
}
public static Date timedate(String time) {
long lcc = Long.valueOf(time);
String times = YYYY_MM_DD_MM_HH_SS.format(new Date(lcc));
return strToDate(times);
}
public static Date strToDate(String dateString) {
Date date = null;
try {
date = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss").parse(dateString);
} catch (ParseException e) {
e.printStackTrace();
}
return date;
}
public static Date dateAddMonth(Date date, int month) {
return add(date, 2, month);
}
public static Date dateAddDay(Date date, int day) {
return add(date, 6, day);
}
public static Date dateAddYear(Date date, int year) {
return add(date, 1, year);
}
private static Date add(Date date, int type, int value) {
Calendar calendar = Calendar.getInstance();
calendar.setTime(date);
calendar.add(type, value);
return calendar.getTime();
}
public static String dateAddDay(String dateString, int day) {
Date date = strToYYMMDDDate(dateString);
Calendar calendar = Calendar.getInstance();
calendar.setTime(date);
calendar.add(6, day);
return YYYY_MM_DD.format(calendar.getTime());
}
public static Date strToYYMMDDDate(String dateString) {
Date date = null;
try {
date = YYYY_MM_DD.parse(dateString);
} catch (ParseException e) {
e.printStackTrace();
}
return date;
}
public static String dateAddDay(int day) {
Date date = new Date();
Calendar calendar = Calendar.getInstance();
calendar.setTime(date);
calendar.add(6, day);
return YYYY_MM_DD.format(calendar.getTime());
}
public static String dateAddMonth(int month) {
Date date = new Date();
Calendar calendar = Calendar.getInstance();
calendar.setTime(date);
calendar.add(2, month);
return YYYY_MM_DD.format(calendar.getTime());
}
public static String remainDateToString(Date startDate, Date endDate) {
StringBuilder result = new StringBuilder();
if (endDate == null) {
return "过期";
}
long times = endDate.getTime() - startDate.getTime();
if (times < -1L) {
result.append("过期");
} else {
long temp = 86400000L;
long d = times / temp;
times %= temp;
temp /= 24L;
long m = times / temp;
times %= temp;
temp /= 60L;
long s = times / temp;
result.append(d);
result.append("天");
result.append(m);
result.append("小时");
result.append(s);
result.append("分");
}
return result.toString();
}
public static Date getCurrentDate() {
return new Date();
}
public static long getTimeMillis() {
return System.currentTimeMillis();
}
public static String getWeekDay(Date date) {
Calendar calendar = Calendar.getInstance();
calendar.setTime(date);
int dayOfWeek = calendar.get(Calendar.DAY_OF_WEEK);
switch (dayOfWeek) {
case 1:
return "周日";
case 2:
return "周一";
case 3:
return "周二";
case 4:
return "周三";
case 5:
return "周四";
case 6:
return "周五";
case 7:
return "周六";
}
return "";
}
public static String toGMTString(Date date) {
SimpleDateFormat df = new SimpleDateFormat("E, dd MMM yyyy HH:mm:ss z", Locale.UK);
df.setTimeZone(new java.util.SimpleTimeZone(0, "GMT"));
return df.format(date);
}
public static BigDecimal diffMinute(Date date) {
return BigDecimalUtil.div(new BigDecimal(System.currentTimeMillis() - date.getTime()), new BigDecimal
("60000"));
}
public static String getPastDate(int past) {
Calendar calendar = Calendar.getInstance();
calendar.set(Calendar.DAY_OF_YEAR, calendar.get(Calendar.DAY_OF_YEAR) - past);
Date today = calendar.getTime();
SimpleDateFormat format = new SimpleDateFormat("yyyy-MM-dd");
String result = format.format(today);
return result;
}
public static String getFetureDate(int past) {
Calendar calendar = Calendar.getInstance();
calendar.set(Calendar.DAY_OF_YEAR, calendar.get(Calendar.DAY_OF_YEAR) + past);
Date today = calendar.getTime();
SimpleDateFormat format = new SimpleDateFormat("yyyy-MM-dd");
String result = format.format(today);
return result;
}
public static Date getDate(Date date, int day) {
synchronized (YYYY_MM_DD) {
Calendar calendar = Calendar.getInstance();
calendar.setTime(date);
calendar.add(Calendar.DAY_OF_MONTH, -day);
date = calendar.getTime();
try {
return YYYY_MM_DD.parse(YYYY_MM_DD.format(date));
} catch (ParseException e) {
e.printStackTrace();
}
return null;
}
}
public static Long calculateCurrentTime2SecondDaySec() {
Long currentTime = System.currentTimeMillis();
Calendar calendar = Calendar.getInstance();
calendar.setTimeInMillis(currentTime);
calendar.set(Calendar.HOUR_OF_DAY, 0);
calendar.set(Calendar.MINUTE, 0);
calendar.set(Calendar.SECOND, 0);
calendar.set(Calendar.MILLISECOND, 0);
calendar.add(Calendar.DATE, 1);
Long endTime = calendar.getTimeInMillis();
return (endTime - currentTime) / 1000;
}
public static Date exchangeYear(Date endDate, Date nowDate) {
Calendar cal = Calendar.getInstance(TimeZone.getTimeZone("UTC"));
cal.setTime(nowDate);
int year = cal.get(Calendar.YEAR);
cal.setTime(endDate);
cal.set(Calendar.YEAR, year);
if (compareMonth(cal.getTime(), nowDate) == -1) {
cal.setTime(endDate);
cal.set(Calendar.YEAR, year + 1);
}
return cal.getTime();
}
public static int getLastYear(Date date) {
Calendar cal = Calendar.getInstance(TimeZone.getTimeZone("UTC"));
cal.setTime(date);
cal.set(Calendar.YEAR, -1);
return cal.get(Calendar.YEAR);
}
public static List<String> getDayListOfMonth(Date date) {
List<String> list = new ArrayList<String>();
Calendar aCalendar = Calendar.getInstance(Locale.CHINA);
aCalendar.setTime(date);
int year = aCalendar.get(Calendar.YEAR);
int month = aCalendar.get(Calendar.MONTH) + 1;
int day = aCalendar.getActualMaximum(Calendar.DATE);
System.out.println("年 : " + year);
System.out.println("月 : " + month);
System.out.println("天 : " + day);
for (int i = 1; i <= day; i++) {
String aDate = String.valueOf(year) + "-" + month + "-" + i;
String s = dateToStringDate(strToYYMMDDDate(aDate));
list.add(s);
}
return list;
}
public static Date getServerStartDate() {
long time = ManagementFactory.getRuntimeMXBean().getStartTime();
return new Date(time);
}
}
无意发现的
package com.ruoyi.common.utils.wx;
import com.ruoyi.common.utils.DateUtil;
import java.util.*;
public class CalendarUtil {
public static final String YEAR = "year";
public static final String MONTH = "month";
public static final String MONTH_FIRST_DAY_TIME = "month_first_day_time";
public static final String MONTH_LAST_DAY_TIME = "month_last_day_time";
public static List<String> getPre5Years(){
List<String> years = new ArrayList<String>();
Calendar calendar = Calendar.getInstance();
int year = calendar.get(Calendar.YEAR);
for(int i = 0; i < 5; i++){
years.add((year - i) + "");
}
return years;
}
public static List<String> get12MonthStr(){
List<String> months = new ArrayList<String>();
for(int i = 1 ;i < 13 ;i++){
months.add(i+"");
}
return months;
}
public static String getNextDay(String format){
Calendar calendar = Calendar.getInstance();
Calendar tmpCalendar = Calendar.getInstance();
tmpCalendar.set(Calendar.DATE, calendar.getActualMaximum(Calendar.DATE));
int maxDate = tmpCalendar.get(Calendar.DATE);
int month = calendar.get(Calendar.MONTH);
int year = calendar.get(Calendar.YEAR);
int date = calendar.get(Calendar.DATE);
if(date + 1 > maxDate ){
if(month + 1 > 11){
calendar.add(Calendar.YEAR, 1);
calendar.set(Calendar.MONTH, 0);
calendar.set(Calendar.DATE, 1);
}else{
calendar.set(year, month, date+1);
}
}else{
calendar.set(year, month, date+1);
}
return DateUtil.getDateText(calendar.getTime(), format);
}
public static Date getNextNDay(Date startTime, Integer n){
Calendar start = Calendar.getInstance();
start.setTime(startTime);
start.add(Calendar.DATE, n);
return start.getTime();
}
public static Date getNextNDayBegin(Date startTime, Integer n){
Calendar start = Calendar.getInstance();
start.setTime(startTime);
start.add(Calendar.DATE, n);
start.set(Calendar.HOUR_OF_DAY, 0);
start.set(Calendar.MINUTE, 0);
start.set(Calendar.SECOND, 0);
return start.getTime();
}
public static Date getNextNDayEnd(Date startTime, Integer n){
Calendar start = Calendar.getInstance();
start.setTime(startTime);
start.add(Calendar.DATE, n);
start.set(Calendar.HOUR_OF_DAY, 23);
start.set(Calendar.MINUTE, 59);
start.set(Calendar.SECOND, 59);
return start.getTime();
}
public static Date getPreNDay(Date startTime, Integer n){
Calendar start = Calendar.getInstance();
start.setTime(startTime);
start.add(Calendar.DATE, -n);
return start.getTime();
}
public static Date getPreNDayBegin(Date startTime, Integer n){
Calendar start = Calendar.getInstance();
start.setTime(startTime);
start.add(Calendar.DATE, -n);
start.set(Calendar.HOUR_OF_DAY, 0);
start.set(Calendar.MINUTE, 0);
start.set(Calendar.SECOND, 0);
return start.getTime();
}
public static Date getPreNDayEnd(Date startTime, Integer n){
Calendar start = Calendar.getInstance();
start.setTime(startTime);
start.add(Calendar.DATE, -n);
start.set(Calendar.HOUR_OF_DAY, 23);
start.set(Calendar.MINUTE, 59);
start.set(Calendar.SECOND, 59);
return start.getTime();
}
public static String getPreXDay(int x , String format){
Calendar calendar = Calendar.getInstance();
int month = calendar.get(Calendar.MONTH);
int year = calendar.get(Calendar.YEAR);
int date = calendar.get(Calendar.DATE);
if(date - x < 0 ){
if(month - 1 < 0){
calendar.add(Calendar.YEAR, -1);
calendar.set(Calendar.MONTH, 11);
calendar.set(Calendar.DATE, 31 - (x-date));
}else{
calendar.add(Calendar.MONTH, -1);
calendar.set(Calendar.DATE, calendar.getActualMaximum(Calendar.DATE));
int maxDate = calendar.get(Calendar.DATE);
calendar.set(year, month - 1, maxDate - (x-date));
}
}else{
calendar.set(year, month, date - x);
}
return DateUtil.getDateText(calendar.getTime(), format);
}
public static String getYear(){
Calendar calendar = Calendar.getInstance();
int year = calendar.get(Calendar.YEAR);
return year+"";
}
public static String getMonth(){
Calendar calendar = Calendar.getInstance();
int month = calendar.get(Calendar.MONTH);
month = month + 1;
if(month > 12){
return "12";
}
return month+"";
}
public static Map<String, String> getPreMonth(){
Map<String, String> rst = new HashMap<String, String>();
Calendar calendar = Calendar.getInstance();
calendar.add(Calendar.MONTH, -1);
int year = calendar.get(Calendar.YEAR);
int month = calendar.get(Calendar.MONTH);
month = month + 1;
rst.put("year", year+"");
if(month > 12){
rst.put("month", "12");
}else{
rst.put("month", month+"");
}
return rst;
}
public static Map<String, String> getPreMonth(Integer year, Integer month){
Map<String, String> rst = new HashMap<String, String>();
if(month == 1){
rst.put("year", (year-1)+"");
rst.put("month", "12");
}else{
rst.put("year", year+"");
rst.put("month", (month-1)+"");
}
return rst;
}
public static List<String> getBetweenMonths(String startMonth , String endMonth){
String[] startArr = startMonth.split("-");
String[] endArr = endMonth.split("-");
Integer startY = Integer.parseInt(startArr[0]);
Integer startM = Integer.parseInt(startArr[1]);
Integer endY = Integer.parseInt(endArr[0]);
Integer endM = Integer.parseInt(endArr[1]);
Calendar startCalendar = Calendar.getInstance();
startCalendar.set(startY, startM - 1, 1, 0, 0);
Calendar endCalendar = Calendar.getInstance();
endCalendar.set(endY, endM - 1, 1, 0, 0);
List<String> months = new ArrayList<String>();
while(startCalendar.getTimeInMillis() <= endCalendar.getTimeInMillis()){
months.add(DateUtil.getDateText(startCalendar.getTime(),"yyyy-MM"));
startCalendar.add(Calendar.MONTH, 1);
}
return months;
}
public static List<String> getPreNMonths(String curMonth , Integer n){
String[] curArr = curMonth.split("-");
Integer curY = Integer.parseInt(curArr[0]);
Integer curM = Integer.parseInt(curArr[1]);
Calendar curCalendar = Calendar.getInstance();
curCalendar.set(curY, curM - 1, 1, 0, 0);
Calendar tmpCalendar = Calendar.getInstance();
tmpCalendar.set(curY, curM - 1 - n, 1, 0, 0);
List<String> months = new ArrayList<String>();
while(tmpCalendar.getTimeInMillis() <= curCalendar.getTimeInMillis()){
months.add(DateUtil.getDateText(tmpCalendar.getTime(),"yyyy-MM"));
tmpCalendar.add(Calendar.MONTH, 1);
}
return months;
}
public static String getToday(String format){
Calendar calendar = Calendar.getInstance();
return DateUtil.getDateText(calendar.getTime(), format);
}
public static String getFirstDay(String format){
Calendar calendar = Calendar.getInstance();
int month = calendar.get(Calendar.MONTH);
int year = calendar.get(Calendar.YEAR);
calendar.set(year, month, 1);
return DateUtil.getDateText(calendar.getTime(), format);
}
public static String getLastDay(String format){
Calendar calendar = Calendar.getInstance();
calendar.set(Calendar.DATE, calendar.getActualMaximum(Calendar.DATE));
return DateUtil.getDateText(calendar.getTime(), format);
}
public static Date getFirstDate(){
Calendar calendar = Calendar.getInstance();
int month = calendar.get(Calendar.MONTH);
int year = calendar.get(Calendar.YEAR);
calendar.set(year, month, 1);
return calendar.getTime();
}
public static Date getLastDate(){
Calendar calendar = Calendar.getInstance();
calendar.set(Calendar.DATE, calendar.getActualMaximum(Calendar.DATE));
return calendar.getTime();
}
public static boolean isTimeSpace(Date startTime, Date endTime, long space){
if (startTime == null || endTime == null) {
return false;
}
return endTime.getTime() - startTime.getTime() <= space;
}
public static boolean isTimeBetween(Date startTime, Date endTime, long startSpace, long endSpace){
return endTime.getTime() - startTime.getTime() <= endSpace &&
endTime.getTime() - startTime.getTime() >= startSpace;
}
public static boolean isTimeBetween(Date time, Date startTime, Date endTime){
return time.getTime() >= startTime.getTime() && time.getTime() <= endTime.getTime();
}
public static Integer getYearSpace(Date startTime, Date endTime){
Calendar start = Calendar.getInstance();
start.setTime(startTime);
Calendar end = Calendar.getInstance();
end.setTime(endTime);
return end.get(Calendar.YEAR) - start.get(Calendar.YEAR);
}
public static Integer getDaySpace(Date startTime, Date endTime){
return (int)(endTime.getTime() - startTime.getTime())/(24*60*60*1000);
}
public static long getTimeInMillis(){
Calendar now = Calendar.getInstance();
return now.getTimeInMillis();
}
public static long getTimeInSeconds(){
return getTimeInMillis()/1000L;
}
}