Este artículo comparte métodos comunes para comparar fechas entre comúnmente utilizados para referencia futura.
Calentamiento: Obtenga el tiempo actual
SimpleDateFormat df = new SimpleDateFormat ("yyyy-mm-dd hh: mm: ss"); // establecer formato de fecha
String NowDate = df.format (nueva fecha ()); // nueva fecha () es obtener la hora del sistema actual
Nota: El autor siempre pensó que el tipo de fecha no es tan bueno como el tipo de cadena, por lo que las siguientes comparaciones son aproximadamente la fecha del tipo de cadena. Si es realmente tan terco, está bien, aquí está el método para convertir la fecha en cadena:
SimpleDateFormat df = new SimpleDateFormat ("yyyy-mm-dd hh: mm: ss"); // establecer formato de fecha
String date = df.format (hora de tipo de fecha);
1. Comparación del tamaño de las fechas de dos tipos de cadenas
public static int compare_date (string date1, string date2) {dateFormat df = new SimpleDateFormat ("yyyyy-mm-dd hh: mm: ss"); intente {date dt1 = df.parse (date1); Fecha dt2 = df.parse (date2); if (dt1.gettime ()> dt2.gettime ()) {system.out.println ("dt1 antes de dt2"); regresar 1; } else if (dt1.gettime () <dt2.gettime ()) {system.out.println ("dt1 es después de dt2"); regreso -1; } else {return 0; }} catch (excepción excepción) {excepcion.printstackTrace (); } return 0; } 2. Devuelva el número de días que difieren entre dos fechas de tipos de cadenas
public static int daysbetween (String Smdate, String bdate) {SimpleDateFormat sdf = new SimpleDateFormat ("yyyy-mm-dd"); Calendario cal = calendario.getInstance (); mucho tiempo1 = 0; mucho tiempo2 = 0; intente {cal.settime (sdf.parse (smdate)); TIME1 = Cal.GetTimeInmillis (); Cal.SetTime (SDF.Parse (BDATE)); Time2 = Cal.gettimeinmillis (); } catch (Exception e) {E.PrintStackTrace (); } Long entre_days = (Time2 Time1)/(1000*3600*24); return integer.parseInt (string.ValueOf (entre_days)); }3. Devuelva el número de horas que difieren entre dos tipos de cadenas
public static int daysbetween2 (string starttime, string endtime) {SimpleDateFormat sdf = new SimpleDateFormat ("yyyyy-mm-dd hh"); Calendario cal = calendario.getInstance (); mucho tiempo1 = 0; mucho tiempo2 = 0; intente {cal.settime (sdf.parse (starttime)); TIME1 = Cal.GetTimeInmillis (); Cal.SetTime (SDF.Parse (EndTime)); Time2 = Cal.gettimeinmillis (); } catch (Exception e) {E.PrintStackTrace (); } Long entre_days = (Time2 Time1)/(1000*3600); return integer.parseInt (string.ValueOf (entre_days)); }4. Calcule las fechas superpuestas de dos fechas
/ ** * Calcule la fecha de la superposición entre dos fechas * @param str1 Fecha de inicio1 * @param str2 date final1 * @param str3 fecha de inicio 2 * @param str4 date2 de final DateFormat df = new SimpleDateFormat ("yyyy-mm-dd"); String startDate = ""; Cadena endDate = ""; intente {date dt1 = df.parse (str1); Fecha dt2 = df.parse (str2); Fecha dt3 = df.parse (str3); Fecha 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"; // coincidence startDate = str3; Enddate = str4; } System.out.println (startDate+"----"+enddate); } catch (ParseException e) {E.PrintStackTrace (); tirar nueva parseexception (e.getMessage (), 0); } catch (Exception e) {E.PrintStackTrace (); arrojar una nueva excepción (e); } Map <string, object> map = new HashMap <String, Object> (); map.put ("startDate", startDate); map.put ("Enddate", EndDate); mapa de retorno; }Lo anterior es todo el contenido de este artículo. Espero que sea útil para el aprendizaje de todos y espero que todos apoyen más a Wulin.com.