Эта статья имеет общие методы сравнения дат между обычно используемыми для будущей ссылки.
Прогрев: Получите текущее время
SimpleDateFormat df = new SimpleDateFormat ("yyyy-mm-dd HH: MM: SS"); // Установить формат даты
String owndate = df.format (new date ()); // new Date () - это получить текущее время системы
ПРИМЕЧАНИЕ. Автор всегда думал, что тип даты не так хорош, как тип строки, поэтому следующие сравнения - это дата типа строки. Если вы действительно такие упрямые, ОК, вот метод преобразования даты в строку:
SimpleDateFormat df = new SimpleDateFormat ("yyyy-mm-dd HH: MM: SS"); // Установить формат даты
Строка дата = df.format (время типа даты);
1. Сравнение размера дат двух типов строки
public static int compare_date (строка date1, string date2) {dateformat df = new SimpleDateFormat ("yyyy-mm-dd HH: MM: SS"); try {date dt1 = df.parse (date1); Дата DT2 = df.parse (date2); if (dt1.gettime ()> dt2.gettime ()) {System.out.println ("dt1 до dt2"); возврат 1; } else if (dt1.getTime () <dt2.getTime ()) {System.out.println ("dt1 IS после dt2"); возврат -1; } else {return 0; }} catch (Exception Exception) {exception.printstacktrace (); } return 0; } 2. вернуть количество дней, которые отличаются между двумя типами строк.
public static int daysween (string smdate, string bdate) {simpledateformat sdf = new SimpleDateFormat ("yyyy-mm-dd"); Календарь cal = calendar.getInstance (); давно 1 = 0; давно 2 = 0; try {cal.settime (sdf.parse (smdate)); Time1 = cal.getTimeInmillis (); cal.settime (sdf.parse (bdate)); Time2 = cal.getTimeInmillis (); } catch (Exception e) {e.printstackTrace (); } long metry_days = (time2-time1)/(1000*3600*24); return integer.parseint (string.valueof (meath_days)); }3. вернуть количество часов, которое различается между двумя типами строки
public static int DaysSitue2 (String startTime, String EndTime) {SimpleDateFormat sdf = new SimpleDateFormat ("yyyy-mm-dd HH"); Календарь cal = calendar.getInstance (); давно 1 = 0; давно 2 = 0; try {cal.settime (sdf.parse (startTime)); Time1 = cal.getTimeInmillis (); cal.settime (sdf.parse (endtime)); Time2 = cal.getTimeInmillis (); } catch (Exception e) {e.printstackTrace (); } long mest_days = (time2-time1)/(1000*3600); return integer.parseint (string.valueof (meath_days)); }4. Рассчитайте перекрывающиеся даты двух дат
/ ** * Рассчитайте дату перекрытия между двумя датами * @param str1 date1 * @param str2 end date1 * @param str3 date2 * @param str4 end date2 * @return * @throhs exception */ public static <string, object> comparisonRQ (String Str1, String Str2, String Str4, String Str4) throws exception {string mesg = ""; DateFormat df = new SimpleDateFormat ("yyyy-mm-dd"); String startDate = ""; String enddate = ""; try {date dt1 = df.parse (str1); Дата DT2 = df.parse (str2); Дата DT3 = df.parse (str3); Дата DT4 = df.parse (str4); if (dt1.getTime () <= dt3.getTime () && dt3.getTime () <= dt2.getTime () && dt2.getTime () <= dt4.getTime ()) {mesg = "f"; // совпадает startDate = str3; enddate = str2; } if (dt1.gettime ()> = dt3.gettime () && dt3.getTime () <= dt2.getTime () && dt2.getTime () <= dt4.getTime ()) {mesg = "f"; // совпадает startDate = str1; enddate = str2; } if (dt3.getTime () <= dt1.getTime () && dt1.getTime () <= dt4.getTime () && dt4.getTime () <= dt2.getTime ()) {mesg = "f"; // совпадает startDate = str1; enddate = str4; } if (dt3.gettime () <= dt4.gettime () && dt4.getTime () <= dt2.getTime ()) {mesg = "f"; // совпадает startDate = str1; enddate = str4; } if (dt3.getTime ()> = dt1.getTime () && dt1.getTime () <= dt4.getTime () && dt4.getTime () <= dt2.getTime ()) {mesg = "f"; // совпадение startDate = str3; enddate = str4; } System.out.println (startDate+"----"+endDate); } catch (parseexception e) {e.printstacktrace (); бросить новое ParseException (e.getMessage (), 0); } catch (Exception e) {e.printstackTrace (); бросить новое исключение (e); } Map <string, object> map = new hashmap <string, object> (); map.put ("startDate", startDate); map.put ("enddate", enddate); карта возврата; }Выше всего содержание этой статьи. Я надеюсь, что это будет полезно для каждого обучения, и я надеюсь, что все будут поддерживать Wulin.com больше.