import java.text.DateFormat;
import java.text.ParseException;
import java.text.SimpleDateFormat;
import java.time.LocalDate;
import java.time.temporal.ChronoUnit;
import java.util.ArrayList;
import java.util.Calendar;
import java.util.Date;
import java.util.GregorianCalendar;
import java.util.List;
import java.util.Locale;
public class MyDateUtils {
public static final String DATE_FORMAT_YYYYMM1 = "yyyyMM";
public static final String DATE_FORMAT_YYYYMMDD1 = "yyyyMMdd";
public static final String DATE_FORMAT_YYYYMMDDHHMMSS = "yyyy-MM-dd HH:mm:ss";
public static final String DATE_FORMAT_YYYYMMDDHHMM = "yyyy-MM-dd HH:mm";
/**
* 获取任意时间的月的最后一天
* 描述:<描述函数实现的功能>.
* @param repeatDate
* @return
*/
public static Date getMaxMonthDate(long repeatDate) {
Calendar calendar = Calendar.getInstance();
calendar.setTime(new Date(repeatDate));
// calendar.add(Calendar.MONTH, -1);
calendar.set(Calendar.DAY_OF_MONTH, calendar.getActualMaximum(Calendar.DAY_OF_MONTH));
calendar.set(Calendar.HOUR_OF_DAY, calendar.getActualMaximum(Calendar.HOUR_OF_DAY));
calendar.set(Calendar.MINUTE, calendar.getActualMaximum(Calendar.MINUTE));
calendar.set(Calendar.SECOND, calendar.getActualMaximum(Calendar.SECOND));
calendar.set(Calendar.MILLISECOND, calendar.getActualMaximum(Calendar.MILLISECOND));
return calendar.getTime();
}
/**
* 获取任意时间的月第一天
* 描述:<描述函数实现的功能>.
* @param repeatDate
* @return
*/
public static Date getMinMonthDate(long repeatDate) {
Calendar calendar = Calendar.getInstance();
calendar.setTime(new Date(repeatDate));
// calendar.add(Calendar.MONTH, -1);
calendar.set(Calendar.DAY_OF_MONTH, calendar.getActualMinimum(Calendar.DAY_OF_MONTH));
calendar.set(Calendar.HOUR_OF_DAY, calendar.getActualMinimum(Calendar.HOUR_OF_DAY));
calendar.set(Calendar.MINUTE, calendar.getActualMinimum(Calendar.MINUTE));
calendar.set(Calendar.SECOND, calendar.getActualMinimum(Calendar.SECOND));
calendar.set(Calendar.MILLISECOND, calendar.getActualMinimum(Calendar.MILLISECOND));
return calendar.getTime();
}
public static Date getMaxDayDate(long repeatDate) {
Calendar calendar = Calendar.getInstance();
calendar.setTime(new Date(repeatDate));
calendar.set(Calendar.HOUR_OF_DAY, calendar.getActualMaximum(Calendar.HOUR_OF_DAY));
calendar.set(Calendar.MINUTE, calendar.getActualMaximum(Calendar.MINUTE));
calendar.set(Calendar.SECOND, calendar.getActualMaximum(Calendar.SECOND));
calendar.set(Calendar.MILLISECOND, calendar.getActualMaximum(Calendar.MILLISECOND));
return calendar.getTime();
}
public static Date getMinDayDate(long repeatDate) {
Calendar calendar = Calendar.getInstance();
calendar.setTime(new Date(repeatDate));
calendar.set(Calendar.HOUR_OF_DAY, calendar.getActualMinimum(Calendar.HOUR_OF_DAY));
calendar.set(Calendar.MINUTE, calendar.getActualMinimum(Calendar.MINUTE));
calendar.set(Calendar.SECOND, calendar.getActualMinimum(Calendar.SECOND));
calendar.set(Calendar.MILLISECOND, calendar.getActualMinimum(Calendar.MILLISECOND));
return calendar.getTime();
}
public static Date getMinYearDate(long repeatDate) {
Calendar calendar = Calendar.getInstance();
calendar.setTime(new Date(repeatDate));
calendar.set(Calendar.MONTH, calendar.getActualMinimum(Calendar.MONTH));
calendar.set(Calendar.DAY_OF_MONTH, calendar.getActualMinimum(Calendar.DAY_OF_MONTH));
calendar.set(Calendar.HOUR_OF_DAY, calendar.getActualMinimum(Calendar.HOUR_OF_DAY));
calendar.set(Calendar.MINUTE, calendar.getActualMinimum(Calendar.MINUTE));
calendar.set(Calendar.SECOND, calendar.getActualMinimum(Calendar.SECOND));
calendar.set(Calendar.MILLISECOND, calendar.getActualMinimum(Calendar.MILLISECOND));
return calendar.getTime();
}
public static Date getMaxYearDate(long repeatDate) {
Calendar calendar = Calendar.getInstance();
calendar.setTime(new Date(repeatDate));
calendar.set(Calendar.MONTH, calendar.getActualMaximum(Calendar.MONTH));
calendar.set(Calendar.DAY_OF_MONTH, calendar.getActualMaximum(Calendar.DAY_OF_MONTH));
calendar.set(Calendar.HOUR_OF_DAY, calendar.getActualMaximum(Calendar.HOUR_OF_DAY));
calendar.set(Calendar.MINUTE, calendar.getActualMaximum(Calendar.MINUTE));
calendar.set(Calendar.SECOND, calendar.getActualMaximum(Calendar.SECOND));
calendar.set(Calendar.MILLISECOND, calendar.getActualMaximum(Calendar.MILLISECOND));
return calendar.getTime();
}
/**
* 获取当前时间
*/
public static String getNowTime() {
Calendar cal = Calendar.getInstance();
SimpleDateFormat dft = new SimpleDateFormat("yyyyMMdd");
String lastMonth = dft.format(cal.getTime());
return lastMonth;
}
/**
* 判断当天是否为本月第一天
* @return
*/
public static boolean isFirstDayOfMonth() {
boolean flag = false;
Calendar calendar = Calendar.getInstance();
int today = calendar.get(Calendar.DAY_OF_MONTH);
if (1 == today) {
flag = true;
}
return flag;
}
/**
* 判断当天是否为本月第二天
* @return
*/
public static boolean isSencondDayOfMonth() {
boolean flag = false;
Calendar calendar = Calendar.getInstance();
int today = calendar.get(Calendar.DAY_OF_MONTH);
if (2 == today) {
flag = true;
}
return flag;
}
/**
* 获取当前月份最后一天
* @return
* @throws ParseException
*/
public static String getMaxMonthDate() {
SimpleDateFormat dft = new SimpleDateFormat("yyyyMMdd");
Calendar calendar = Calendar.getInstance();
calendar.setTime(new Date());
// calendar.add(Calendar.MONTH, -1);
calendar.set(Calendar.DAY_OF_MONTH, calendar.getActualMaximum(Calendar.DAY_OF_MONTH));
return dft.format(calendar.getTime());
}
/**
* 描述:获取下一个月的第一天.
* @return
*/
public static String getPerFirstDayOfMonth() {
SimpleDateFormat dft = new SimpleDateFormat("yyyyMMdd");
Calendar calendar = Calendar.getInstance();
calendar.add(Calendar.MONTH, 1);
calendar.set(Calendar.DAY_OF_MONTH, calendar.getActualMinimum(Calendar.DAY_OF_MONTH));
return dft.format(calendar.getTime());
}
/**
* 描述:获取上个月的最后一天.
* @return
*/
public static String getLastMaxMonthDate() {
SimpleDateFormat dft = new SimpleDateFormat("yyyyMMdd");
Calendar calendar = Calendar.getInstance();
calendar.setTime(new Date());
calendar.add(Calendar.MONTH, -1);
calendar.set(Calendar.DAY_OF_MONTH, calendar.getActualMaximum(Calendar.DAY_OF_MONTH));
return dft.format(calendar.getTime());
}
/**
* 获取上一个月
* @return
*/
public static String getLastMonth() {
Calendar cal = Calendar.getInstance();
cal.add(Calendar.MONTH, -1);
SimpleDateFormat dft = new SimpleDateFormat("yyyyMM");
String lastMonth = dft.format(cal.getTime());
return lastMonth;
}
/**
* 获取上一个月
* @return
*/
public static Date getLastMonth(long time, int i) {
Calendar cal = Calendar.getInstance();
cal.setTime(new Date(time));
cal.add(Calendar.MONTH, i);
return cal.getTime();
}
/**
* 描述:获取下一个月.
* @return
*/
public static String getPreMonth() {
Calendar cal = Calendar.getInstance();
cal.add(Calendar.MONTH, 1);
SimpleDateFormat dft = new SimpleDateFormat("yyyyMM");
String preMonth = dft.format(cal.getTime());
return preMonth;
}
/**
* 描述:获取下一个月.
* @return
*/
public static Date getPreMonth(long time, int i) {
Calendar cal = Calendar.getInstance();
cal.setTime(new Date(time));
cal.add(Calendar.MONTH, i);
return cal.getTime();
}
/**
* 描述:获取下一个年.
* @return
*/
public static Date getPreYear(long time, int i) {
Calendar cal = Calendar.getInstance();
cal.setTime(new Date(time));
cal.add(Calendar.YEAR, i);
return cal.getTime();
}
/**
* 是否是本月最后一天
* @return
*/
public static boolean isLastDayOfMonth() {
boolean flag = false;
if (StringUtils.isNotBlank(getNowTime()) && StringUtils.isNotBlank(getMaxMonthDate()) && StringUtils
.equals(getNowTime(), getMaxMonthDate())) { // getMaxMonthDate().equals(getNowTime())
flag = true;
}
return flag;
}
/**
* 是否是最后一天
* @return
*/
public static boolean isLastDayOfMonth(Date date) {
boolean flag = false;
Calendar calendar = Calendar.getInstance();
calendar.setTime(date);
int day = calendar.get(Calendar.DAY_OF_MONTH);
if (day == calendar.getActualMaximum(Calendar.DAY_OF_MONTH)) {
flag = true;
}
return flag;
}
/**
* 是否是最后一个月
* @return
*/
public static boolean isLastMonth(Date date) {
boolean flag = false;
Calendar calendar = Calendar.getInstance();
calendar.setTime(date);
int day = calendar.get(Calendar.MONTH);
if (day == calendar.getActualMaximum(Calendar.MONTH)) {
flag = true;
}
return flag;
}
/**
* 获取任意时间的下一个月
* 描述:<描述函数实现的功能>.
* @param repeatDate
* @return
*/
public static String getPreMonth(String repeatDate) {
String lastMonth = "";
Calendar cal = Calendar.getInstance();
SimpleDateFormat dft = new SimpleDateFormat("yyyyMM");
int year = Integer.parseInt(repeatDate.substring(0, 4));
String monthsString = repeatDate.substring(4, 6);
int month;
if ("0".equals(monthsString.substring(0, 1))) {
month = Integer.parseInt(monthsString.substring(1, 2));
} else {
month = Integer.parseInt(monthsString.substring(0, 2));
}
cal.set(year, month, Calendar.DATE);
lastMonth = dft.format(cal.getTime());
return lastMonth;
}
/**
* 获取任意时间的上一个月
* 描述:<描述函数实现的功能>.
* @param repeatDate
* @return
*/
public static String getLastMonth(String repeatDate) {
String lastMonth = "";
Calendar cal = Calendar.getInstance();
SimpleDateFormat dft = new SimpleDateFormat("yyyyMM");
int year = Integer.parseInt(repeatDate.substring(0, 4));
String monthsString = repeatDate.substring(4, 6);
int month;
if ("0".equals(monthsString.substring(0, 1))) {
month = Integer.parseInt(monthsString.substring(1, 2));
} else {
month = Integer.parseInt(monthsString.substring(0, 2));
}
cal.set(year, month - 2, Calendar.DATE);
lastMonth = dft.format(cal.getTime());
return lastMonth;
}
//
/**
* 不论是当前时间,还是历史时间 皆是时间点的前天
* <p>
* repeatDate 任意时间
*/
public static String getModify2DaysAgo(String repeatDate) {
Calendar cal = Calendar.getInstance();
String daysAgo = "";
SimpleDateFormat dft = new SimpleDateFormat("yyyyMMdd");
if (repeatDate == null || "".equals(repeatDate)) {
cal.set(Calendar.DATE, cal.get(Calendar.DATE) - 2);
} else {
int year = Integer.parseInt(repeatDate.substring(0, 4));
String monthsString = repeatDate.substring(4, 6);
int month;
if ("0".equals(monthsString.substring(0, 1))) {
month = Integer.parseInt(monthsString.substring(1, 2));
} else {
month = Integer.parseInt(monthsString.substring(0, 2));
}
String dateString = repeatDate.substring(6, 8);
int date;
if ("0".equals(dateString.subSequence(0, 1))) {
date = Integer.parseInt(dateString.substring(1, 2));
} else {
date = Integer.parseInt(dateString.substring(0, 2));
}
cal.set(year, month - 1, date - 1);
System.out.println(dft.format(cal.getTime()));
}
daysAgo = dft.format(cal.getTime());
return daysAgo;
}
/**
* 不论是当前时间,还是历史时间 皆是时间点的T-N天
* <p>
* repeatDate 任意时间 param 数字 可以表示前几天
*/
public static String getModifyNumDaysAgo(String repeatDate, int param) {
Calendar cal = Calendar.getInstance();
String daysAgo = "";
SimpleDateFormat dft = new SimpleDateFormat("yyyyMMdd");
if (repeatDate == null || "".equals(repeatDate)) {
cal.set(Calendar.DATE, cal.get(Calendar.DATE) - param);
} else {
int year = Integer.parseInt(repeatDate.substring(0, 4));
String monthsString = repeatDate.substring(4, 6);
int month;
if ("0".equals(monthsString.substring(0, 1))) {
month = Integer.parseInt(monthsString.substring(1, 2));
} else {
month = Integer.parseInt(monthsString.substring(0, 2));
}
String dateString = repeatDate.substring(6, 8);
int date;
if ("0".equals(dateString.subSequence(0, 1))) {
date = Integer.parseInt(dateString.substring(1, 2));
} else {
date = Integer.parseInt(dateString.substring(0, 2));
}
cal.set(year, month - 1, date - param + 1);
System.out.println(dft.format(cal.getTime()));
}
daysAgo = dft.format(cal.getTime());
return daysAgo;
}
/**
* 取得当前日期是多少周
* @param date
* @return
*/
public static int getWeekOfYear(Date date) {
Calendar c = Calendar.getInstance();
c.setFirstDayOfWeek(Calendar.MONDAY);
c.setMinimalDaysInFirstWeek(7);
c.setTime(date);
return c.get(Calendar.WEEK_OF_YEAR);
}
/**
* 得到某一年周的总数
* @param year
* @return
*/
public static int getMaxWeekNumOfYear(int year) {
Calendar c = Calendar.getInstance();
c.set(year, Calendar.DECEMBER, 31, 23, 59, 59);
return getWeekOfYear(c.getTime());
}
/**
* 得到某年某周的第一天
* @param year
* @param week
* @return
*/
public static Date getFirstDayOfWeek(int year, int week) {
Calendar c = Calendar.getInstance();
c.set(Calendar.YEAR, year);
c.set(Calendar.MONTH, Calendar.JANUARY);
c.set(Calendar.DATE, 1);
Calendar cal = (GregorianCalendar) c.clone();
cal.add(Calendar.DATE, week * 7);
return getFirstDayOfWeek(cal.getTime());
}
/**
* 得到某年某周的最后一天
* @param year
* @param week
* @return
*/
public static Date getLastDayOfWeek(int year, int week) {
Calendar c = Calendar.getInstance();
c.set(Calendar.YEAR, year);
c.set(Calendar.MONTH, Calendar.JANUARY);
c.set(Calendar.DATE, 1);
Calendar cal = (GregorianCalendar) c.clone();
cal.add(Calendar.DATE, week * 7);
return getLastDayOfWeek(cal.getTime());
}
/**
* 取得指定日期所在周的第一天
* @param date
* @return
*/
public static Date getFirstDayOfWeek(Date date) {
Calendar c = Calendar.getInstance();
c.setFirstDayOfWeek(Calendar.MONDAY);
c.setTime(date);
c.set(Calendar.DAY_OF_WEEK, c.getFirstDayOfWeek()); // Monday
return c.getTime();
}
/**
* 取得指定日期所在周的最后一天
* @param date
* @return
*/
public static Date getLastDayOfWeek(Date date) {
Calendar c = Calendar.getInstance();
c.setFirstDayOfWeek(Calendar.MONDAY);
c.setTime(date);
c.set(Calendar.DAY_OF_WEEK, c.getFirstDayOfWeek() + 6); // Sunday
return c.getTime();
}
/**
* 取得当前日期所在周的第一天
* @return
*/
public static Date getFirstDayOfWeek() {
Calendar c = Calendar.getInstance();
c.setFirstDayOfWeek(Calendar.MONDAY);
c.setTime(new Date());
c.set(Calendar.DAY_OF_WEEK, c.getFirstDayOfWeek()); // Monday
return c.getTime();
}
/**
* 取得当前日期所在周的最后一天
* @return
*/
public static Date getLastDayOfWeek() {
Calendar c = Calendar.getInstance();
c.setFirstDayOfWeek(Calendar.MONDAY);
c.setTime(new Date());
c.set(Calendar.DAY_OF_WEEK, c.getFirstDayOfWeek() + 6); // Sunday
return c.getTime();
}
/**
* 获取当前时间的后一天时间
*/
public static Date getAfterDay(long date, int days) {
Calendar calendar = Calendar.getInstance();
calendar.setTime(new Date(date));
calendar.set(Calendar.DATE, calendar.get(Calendar.DATE) + days);
return calendar.getTime();
}
/**
* 获取时间的前一天时间
*/
public static Date getBeforeDay(long date, int days) {
Calendar calendar = Calendar.getInstance();
calendar.setTime(new Date(date));
int day = calendar.get(Calendar.DATE);
calendar.set(Calendar.DATE, day - days);
return calendar.getTime();
}
public static int countTwoDate(long startDate, long endDate) {
Calendar cal = Calendar.getInstance();
cal.setTime(new Date(startDate));
long time1 = cal.getTimeInMillis();
cal.setTime(new Date(endDate));
long time2 = cal.getTimeInMillis();
long betweenDays = (time2 - time1) / (1000 * 3600 * 24);
return Integer.parseInt(String.valueOf(betweenDays));
}
public static int until(long startTime, long endTime) {
Calendar cal = Calendar.getInstance();
cal.setTime(new Date(startTime));
LocalDate localDate = LocalDate.of(cal.get(Calendar.YEAR), cal.get(Calendar.MONTH) + 1, cal.get(Calendar.DAY_OF_MONTH));
cal.setTime(new Date(endTime));
LocalDate endLocalDate = LocalDate.of(cal.get(Calendar.YEAR), cal.get(Calendar.MONTH) + 1, cal.get(Calendar.DAY_OF_MONTH));
return (int)localDate.until(endLocalDate, ChronoUnit.DAYS);
}
public static int getDayOfMonth(long time) {
Calendar cal = Calendar.getInstance();
cal.setTime(new Date(time));
return cal.get(Calendar.DAY_OF_MONTH);
}
public static int getMonth(long time) {
Calendar cal = Calendar.getInstance();
cal.setTime(new Date(time));
return cal.get(Calendar.MONTH);
}
public static int getYear(long time) {
Calendar cal = Calendar.getInstance();
cal.setTime(new Date(time));
return cal.get(Calendar.YEAR);
}
public static String getYMD(Date date) {
Calendar cal = Calendar.getInstance();
SimpleDateFormat dft = new SimpleDateFormat("yyyyMMdd");
cal.setTime(date);
return dft.format(cal.getTime());
}
public static String getYMD2(Date date) {
Calendar cal = Calendar.getInstance();
SimpleDateFormat dft = new SimpleDateFormat("yyyy年MM月dd日");
cal.setTime(date);
return dft.format(cal.getTime());
}
public static String getYMD3(Date date) {
Calendar cal = Calendar.getInstance();
SimpleDateFormat dft = new SimpleDateFormat("yyyy/MM/dd");
cal.setTime(date);
return dft.format(cal.getTime());
}
public static String getYMD4(Date date) {
Calendar cal = Calendar.getInstance();
SimpleDateFormat dft = new SimpleDateFormat("yyyy-MM-dd");
cal.setTime(date);
return dft.format(cal.getTime());
}
public static String getSepDate(Date date1, Date date2) {
String result;
int startYear = MyDateUtils.getYear(date1.getTime());
int endYear = MyDateUtils.getYear(date2.getTime());
if (startYear == endYear) {
Calendar cal = Calendar.getInstance();
SimpleDateFormat dft = new SimpleDateFormat("yyyy.MM.dd");
cal.setTime(date1);
result = dft.format(cal.getTime());
SimpleDateFormat dft2 = new SimpleDateFormat("MM.dd");
cal.setTime(date2);
result = result + "~" + dft2.format(cal.getTime());
} else {
Calendar cal = Calendar.getInstance();
SimpleDateFormat dft = new SimpleDateFormat("yyyy.MM.dd");
cal.setTime(date1);
result = dft.format(cal.getTime());
SimpleDateFormat dft2 = new SimpleDateFormat("yyyy.MM.dd");
cal.setTime(date2);
result = result + "~" + dft2.format(cal.getTime());
}
return result;
}
public static String getYMDHMS(Date date) {
Calendar cal = Calendar.getInstance();
SimpleDateFormat dft = new SimpleDateFormat("yyyyMMddhhmmss");
cal.setTime(date);
return dft.format(cal.getTime());
}
public static String getYMDHMS(long date) {
Calendar cal = Calendar.getInstance();
SimpleDateFormat dft = new SimpleDateFormat(DATE_FORMAT_YYYYMMDDHHMMSS);
cal.setTime(new Date(date));
return dft.format(cal.getTime());
}
public static String getYMDHM(long date) {
Calendar cal = Calendar.getInstance();
SimpleDateFormat dft = new SimpleDateFormat(DATE_FORMAT_YYYYMMDDHHMM);
cal.setTime(new Date(date));
return dft.format(cal.getTime());
}
public static String getYM(Date date) {
Calendar cal = Calendar.getInstance();
SimpleDateFormat dft = new SimpleDateFormat("yyyyMM");
cal.setTime(date);
return dft.format(cal.getTime());
}
public static String getYM2(Date date) {
Calendar cal = Calendar.getInstance();
SimpleDateFormat dft = new SimpleDateFormat("yyyy年MM月");
cal.setTime(date);
return dft.format(cal.getTime());
}
public static String getY(Date date) {
Calendar cal = Calendar.getInstance();
SimpleDateFormat dft = new SimpleDateFormat("yyyy");
cal.setTime(date);
return dft.format(cal.getTime());
}
public static String getY2(Date date) {
Calendar cal = Calendar.getInstance();
SimpleDateFormat dft = new SimpleDateFormat("yyyy年");
cal.setTime(date);
return dft.format(cal.getTime());
}
public static String getMD(Date date) {
Calendar cal = Calendar.getInstance();
SimpleDateFormat dft = new SimpleDateFormat("MM月dd日");
cal.setTime(date);
return dft.format(cal.getTime());
}
public static Long getMillisYM(String date) {
SimpleDateFormat dft = new SimpleDateFormat("yyyyMM");
try {
Date ym = dft.parse(date);
return ym.getTime();
} catch (ParseException e) {
e.printStackTrace();
return null;
}
}
public static Long getMillisY(String date) {
SimpleDateFormat dft = new SimpleDateFormat("yyyy");
try {
Date ym = dft.parse(date);
return ym.getTime();
} catch (ParseException e) {
e.printStackTrace();
return null;
}
}
public static Long getMillisWithFormat(String date,String format) {
SimpleDateFormat dft = new SimpleDateFormat(format);
try {
Date ym = dft.parse(date);
return ym.getTime();
} catch (ParseException e) {
e.printStackTrace();
return null;
}
}
/**
* @param date1 需要比较的时间 不能为空(null),需要正确的日期格式
* @param date2 被比较的时间 为空(null)则为当前时间
* @param stype 返回值类型 0为多少天,1为多少个月,2为多少年
* @return
*/
public static int compareDate(String date1, String date2, int stype) {
int n = 0;
String[] u = {"天", "月", "年"};
String formatStyle = stype == 1 ? DATE_FORMAT_YYYYMM1 : DATE_FORMAT_YYYYMMDD1;
date2 = date2 == null ? getCurrentDate() : date2;
DateFormat df = new SimpleDateFormat(formatStyle);
Calendar c1 = Calendar.getInstance();
Calendar c2 = Calendar.getInstance();
try {
c1.setTime(df.parse(date1));
c2.setTime(df.parse(date2));
} catch (Exception e3) {
System.out.println("wrong occured");
}
while (!c1.after(c2)) { // 循环对比,直到相等,n 就是所要的结果
//list.add(df.format(c1.getTime())); // 这里可以把间隔的日期存到数组中 打印出来
n++;
if (stype == 1) {
c1.add(Calendar.MONTH, 1); // 比较月份,月份+1
} else {
c1.add(Calendar.DATE, 1); // 比较天数,日期+1
}
}
n = n - 1;
if (stype == 2) {
n = (int) n / 365;
}
return n + 1;
}
/**
* 得到当前日期
*
* @return
*/
public static String getCurrentDate() {
Calendar c = Calendar.getInstance();
Date date = c.getTime();
SimpleDateFormat simple = new SimpleDateFormat(DATE_FORMAT_YYYYMMDD1);
return simple.format(date);
}
/**
* 得到当前时间
*
* @return
*/
public static String getCurrentTime() {
Calendar c = Calendar.getInstance();
Date date = c.getTime();
SimpleDateFormat simple = new SimpleDateFormat(DATE_FORMAT_YYYYMMDDHHMMSS);
return simple.format(date);
}
public static List<Date> getMonths(Date d1, Date d2) {
Calendar dd = Calendar.getInstance();
dd.setTime(getMinMonthDate(d1.getTime()));//设置日期起始时间
List<Date> dateList = new ArrayList<>();
while(dd.getTime().compareTo(d2) <= 0) {//判断是否到结束日期
dateList.add(dd.getTime());
dd.add(Calendar.MONTH, 1);//进行当前日期月份加1
}
return dateList;
}
/**
* 得到当前小时数
*
* @return
*/
public static String getMillisHH() {
SimpleDateFormat dft = new SimpleDateFormat("mmss");
Date date = new Date();
return dft.format(date);
}
public static String timeAAChange(String time) {
if (StringUtils.isEmpty(time)) {
return null;
}
SimpleDateFormat formatFrom = new SimpleDateFormat("hh:mm aa", Locale.ENGLISH);
try {
Date gmtTime = formatFrom.parse(time);
SimpleDateFormat formatTo = new SimpleDateFormat("HH:mm");
return formatTo.format(gmtTime);
} catch (ParseException e) {
e.printStackTrace();
return null;
}
}
}
先贡献一个时间工具类
剩下的内容比较简单
前台的时间格式是这样的

后台处理
MyDateUtils.getMillisWithFormat(endDate,"yyyy-MM-dd HH:mm")/1000
转换后
1569146280
以上就是这次使用的场景及转换方法
2019-10-22 17:59:51