Este artigo compartilha métodos comuns de comparação de datas entre comumente usado para referência futura.
Aquecimento: obtenha o horário atual
SimpledateFormat DF = new SimpleDateFormat ("AAAA-MM-DD HH: MM: SS"); // Definir formato de data
String NowDate = df.Format (new Date ()); // new Date () é obter o horário atual do sistema
Nota: O autor sempre pensou que o tipo de data não é tão bom quanto o tipo de string, portanto, as seguintes comparações são sobre a data do tipo de string. Se você é realmente tão teimoso, ok, aqui está o método para converter a data em string:
SimpledateFormat DF = new SimpleDateFormat ("AAAA-MM-DD HH: MM: SS"); // Definir formato de data
String date = df.format (hora do tipo de data);
1. Comparação do tamanho das datas de dois tipos de cordas
public static int compare_date (string date1, string date2) {dateFormat df = new SimpleDateFormat ("yyyy-mm-dd hh: mm: ss"); tente {date dt1 = df.parse (date1); Data dt2 = df.parse (date2); if (dt1.getTime ()> dt2.gettime ()) {System.out.println ("dt1 antes do dt2"); retornar 1; } else if (dt1.gettime () <dt2.gettime ()) {System.out.println ("dt1 está após dt2"); retornar -1; } else {return 0; }} catch (exceção da exceção) {excepção.printStackTrace (); } retornar 0; } 2. Retorne o número de dias que diferem entre duas datas dos tipos de string
public static int diasbetween (string smdate, string bdate) {simpledateFormat sdf = new SimpleDateFormat ("yyyy-mm-dd"); Calendário cal = calendar.getInstance (); longo tempo1 = 0; longo tempo2 = 0; tente {cal.setTime (sdf.parse (smdate)); time1 = cal.getTimeInmillis (); cal.setTime (sdf.parse (bdate)); time2 = cal.getTimeInmillis (); } catch (Exceção e) {e.printStackTrace (); } long entre_days = (time2-time1)/(1000*3600*24); return integer.parseint (string.valueof (entre_days)); }3. Retorne o número de horas que diferem entre dois tipos de string
public static int Daysbetween2 (string starttime, string endtime) {simpledateFormat sdf = new SimpleDateFormat ("yyyy-mm-dd hh"); Calendário cal = calendar.getInstance (); longo tempo1 = 0; longo tempo2 = 0; tente {cal.setTime (sdf.parse (starttime)); time1 = cal.getTimeInmillis (); cal.setTime (sdf.parse (final)); time2 = cal.getTimeInmillis (); } catch (Exceção e) {e.printStackTrace (); } long entre_days = (time2-time1)/(1000*3600); return integer.parseint (string.valueof (entre_days)); }4. Calcule as datas sobrepostas de duas datas
/ ** * Calcule a data da sobreposição entre duas datas * @param str1 Data de início1 * @param str2 Data de término1 * @param str3 Data de início2 * @param str4 date2 * @return * @throws excepção */ public static mapa <string, objeto> comparaçãorq (string str1, string str2, string str4; DateFormat df = new SimpleDateFormat ("AAAA-MM-DD"); String startDate = ""; String enddate = ""; tente {date dt1 = df.parse (str1); Data dt2 = df.parse (str2); Data dt3 = df.parse (str3); Data dt4 = df.parse (str4); if (dt1.getTime () <= dt3.gettime () && dt3.gettime () <= dt2.gettime () && dt2.gettime () <= dt4.gettime ()) {mesg = "f"; // coincid startDate = str3; enddate = str2; } if (dt1.gettime ()> = dt3.gettime () && dt3.gettime () <= dt2.gettime () && dt2.gettime () <= dt4.gettime ()) {mesg = "f"; // coincid startDate = str1; enddate = str2; } if (dt3.gettime () <= dt1.gettime () && dt1.gettime () <= dt4.gettime () && dt4.gettime () <= dt2.gettime ()) {mesg = "f"; // coincid startDate = str1; enddate = str4; } if (dt3.gettime () <= dt4.gettime () && dt4.gettime () <= dt2.gettime ()) {mesg = "f"; // coincid startDate = str1; enddate = str4; } if (dt3.gettime ()> = dt1.gettime () && dt1.gettime () <= dt4.gettime () && dt4.gettime () <= dt2.gettime ()) {mesg = "f"; // coincidência startDate = str3; enddate = str4; } System.out.println (startDate+"----"+enddate); } catch (parseException e) {e.printStackTrace (); lançar uma nova parseException (e.getMessage (), 0); } catch (Exceção e) {e.printStackTrace (); lançar uma nova exceção (e); } Mapa <string, object> map = new hashmap <string, object> (); map.put ("startDate", startDate); map.put ("enddate", enddate); mapa de retorno; }O exposto acima é todo o conteúdo deste artigo. Espero que seja útil para o aprendizado de todos e espero que todos apoiem mais o wulin.com.