Dieser Artikel teilt gemeinsame Methoden zum Vergleich von Daten zwischen häufig als zukünftiger Referenz verwendet.
Aufwärmen: Holen Sie sich die aktuelle Zeit
SimpledateFormat DF = New SimpledateFormat ("yyyy-mm-dd hh: mm: ss"); // Datumsformat festlegen
String nowdate = df.format (neuer Datum ()); // New Date () soll die aktuelle Systemzeit erhalten
HINWEIS: Der Autor dachte immer, dass der Datumstyp nicht so gut ist wie der String -Typ, daher geht es bei den folgenden Vergleiche alles um das Datum des Zeichenstreichertyps. Wenn Sie wirklich so hartnäckig sind, OK, ist hier die Methode, um das Datum in String umzuwandeln:
SimpledateFormat DF = New SimpledateFormat ("yyyy-mm-dd hh: mm: ss"); // Datumsformat festlegen
String date = df.format (Datumstypzeit);
1. Vergleich der Größe der Daten von zwei Saitentypen
public static int compare_date (String Datum1, String Datum2) {DateFormat df = new SimpledateFormat ("yyyy-mm-dd hh: mm: ss"); try {date dt1 = df.parse (Datum1); Datum dt2 = df.Parse (Datum2); if (dt1.getTime ()> dt2.getTime ()) {System.out.println ("dt1 vor dt2"); Rückkehr 1; } else if (dt1.getTime () <dt2.getTime ()) {System.out.println ("dt1 ist nach dt2"); Return -1; } else {return 0; }} catch (Ausnahmeausnahme) {exception.printstacktrace (); } return 0; } 2. Geben Sie die Anzahl der Tage zurück, die sich zwischen zwei Stringstypen unterscheiden
public static int taysbetween (String smdate, String bdate) {SimpleDateFormat SDF = new SimpledateFormat ("yyyy-mm-dd"); Kalender cal = calendar.getInstance (); lange Zeit1 = 0; Langzeit2 = 0; try {cal.settime (sdf.parse (smdate)); time1 = cal.getTimeInmillis (); Cal.Settime (SDF.Parse (Bdate)); time2 = cal.getTimeInmillis (); } catch (Ausnahme e) {e.printstacktrace (); } long zwischen_days = (time2-time1)/(1000*3600*24); return Integer.ParseInt (String.Valueof (zwischen_Days)); }3.. Geben Sie die Anzahl der Stunden zurück, die sich zwischen zwei String -Typen unterscheiden
public static int taysbetween2 (String StartTime, String Endime) {SimpleDateFormat SDF = new SimpleDateFormat ("yyyy-mm-dd hh"); Kalender cal = calendar.getInstance (); lange Zeit1 = 0; Langzeit2 = 0; try {Cal.Settime (SDF.Parse (StartTime)); time1 = cal.getTimeInmillis (); Cal.Settime (SDF.Parse (Endime)); time2 = cal.getTimeInmillis (); } catch (Ausnahme e) {e.printstacktrace (); } long zwischen_days = (time2-time1)/(1000*3600); return Integer.ParseInt (String.Valueof (zwischen_Days)); }4. Berechnen Sie die überlappenden Daten von zwei Daten
/ ** * Berechnen Sie das Datum der Überlappung zwischen zwei Daten * @param Str1 Startdatum1 * @param Str2 Enddatum1 * @param Str3 Startdatum2 * @param str4 Enddatum2 * @return * @Throws Exception */ public static map <String, Object> Vergleich (String Str1, String Str2, String Str3) Throws -Ausnahme {String MESG = ";; DateFormat df = new SimpledateFormat ("yyyy-mm-dd"); String startDate = ""; String enddate = ""; try {date dt1 = df.parse (str1); Datum dt2 = df.Parse (str2); Datum dt3 = df.parse (str3); Datum dt4 = df.parse (str4); if (dt1.getTime () <= dt3.getTime () && dt3.getTime () <= dt2.getTime () && dt2gettime () <= dt4.getTime ()) {mesg = "f"; // coincid startDate = str3; Enddate = str2; } if (dt1.getTime ()> = dt3.getTime () && dt3.getTime () <= dt2.getTime () && dt2gettime () <= dt4.getTime ()) {mesg = "f"; // coincid startDate = str1; Enddate = str2; } if (dt3.getTime () <= dt1.gettime () && dt1.getTime () <= dt4.getTime () && dt4.getTime () <= dt2.getTime ()) {mesg = "f"; // casincid startDate = str1; Enddate = str4; } if (dt3.getTime () <= dt4.getTime () && dt4.getTime () <= dt2.getTime ()) {mesg = "f"; // casincid startDate = str1; Enddate = str4; } if (dt3.getTime ()> = dt1.getTime () && dt1.getTime () <= dt4.getTime () && dt4.getTime () <= dt2.getTime ()) {mesg = "f"; // casincidence startDate = str3; Enddate = str4; } System.out.println (startDate+"----"+enddate); } catch (parseException e) {e.printstacktrace (); neue ParseException (e.getMessage (), 0) werfen; } catch (Ausnahme e) {e.printstacktrace (); Neue Ausnahme (e) werfen; } Map <string, object> map = new HashMap <String, Object> (); map.put ("startDate", startDate); map.put ("Enddate", Enddate); Rückgabekarte; }Das obige ist der gesamte Inhalt dieses Artikels. Ich hoffe, es wird für das Lernen aller hilfreich sein und ich hoffe, jeder wird Wulin.com mehr unterstützen.