In diesem Artikel wird die Java -Date -Operation -Toolklasse für Sie teilt und das angegebene Datum einen Tag zuvor und einen Tag nach dem Tag erhalten. Date -Konvertierung; Die Anzahl der Tage zwischen zwei Daten und anderen Tools für Ihre Referenz. Der spezifische Inhalt ist wie folgt
Java.Text.ParseException importieren; import Java.text.SimpledateFormat; Import Java.util.ArrayList; import Java.util.Calendar; Import Java.util.date; Import Java.util.List; öffentliche Klasse DateUtil { / ** * Der Tag vor dem angegebenen Datum wird erhalten * * @param angegebener Tag * @Param Format * @return * @throws Exception * / public statisches Datum GetDayBefore (Datumsdatum, String -Format) {Kalender c = calendar.getInstance (); C.Settime (Datum); int day = ceg (calendar.date); C.Set (Kalender.Date, Tag - 1); String DayBeStr = new SimpledateFormat (Format) .Format (C.GetTime ()); Datum Tagbeforde = null; probieren Sie {DayBefore = new SimpledateFormat (Format) .Parse (DayBeforestry); } catch (parseException e) {e.printstacktrace (); } Rückkehr Tag; } / ** * Der Tag nach Erhalt des angegebenen Datums * * @param angegebener Tag * @return * / public statisches Datum GetDayAfter (Datum Datum, String -Format) {Kalender c = calendar.getInstance (); C.Settime (Datum); int day = ceg (calendar.date); C.Set (Kalender.Date, Tag + 1); String DayafterStr = new SimpledateFormat (Format) .Format (C.GetTime ()); Datum Dayafter = NULL; try {Dayafter = new SimpledateFormat (Format) .Parse (DayAfterstr); } catch (parseException e) {e.printstacktrace (); } Dayafter zurückkehren; } / ** * den Tag vor dem angegebenen Datum erhalten * * @param angegebener Tag * @Param Format * @return * @throws Exception * / public static String GetspecifiedBefore (Zeichenfolge, Zeichenfolge, String-Format) {// SimpleDateFormat SimpleDateFormat = new // SimpleDateFormat ("Yyjyjy-mm-dd"); Kalender c = calendar.getInstance (); Datum Datum = null; try {date = new SimpledateFormat ("yy-mm-dd"). Parse (angegebener Zeit); } catch (parseException e) {e.printstacktrace (); } c.settime (Datum); int day = ceg (calendar.date); C.Set (Kalender.Date, Tag - 1); String DayBefore = new SimpledateFormat ("yyyy-mm-dd"). Format (C.GetTime ()); Tagbeweg zurückkehren; } / ** * Der Tag nach Erhalt des angegebenen Datums * * @param angegebener Tag * @return * / public static String GETECIDDAGEDAfAfter (Zeichenfolge, das angegeben, String -Format) {Kalender c = calendar.getInstance (); Datum Datum = null; try {// date = new SimpledateFormat ("yy-mm-dd"). parse (angegebener Zeit); Datum = new SimpledateFormat (Format) .Parse (angegebener Zeit); } catch (parseException e) {e.printstacktrace (); } c.settime (Datum); int day = ceg (calendar.date); C.Set (Kalender.Date, Tag + 1); // String Dayafter = new // SimpleDateFormat ("yyyy-mm-dd"). Format (C.GetTime ()); String Dayafter = new SimpledateFormat (Format) .Format (C.GetTime ()); Dayafter zurückkehren; } / ** * Genau den Datumstyp in eine Zeichenfolge im angegebenen Format * * @param Day Datum * @param -Format Geben Sie das Format an * @return * / public static String Datum2String (Datumstag, String -Format) {String datenESTR = new SimpleDateFormat (Format) .format (Tag.getime ()); DETESTEST REENT; } / ** * Konvertieren Sie die Zeichenfolge in einen Datumstyp im angegebenen Format * * @param Day Datum * @param -Format Geben Sie das Format an * @return * / public static date string2Date (String datenStr, String -Format) {Datum strdate = null; try {strdate = new SimpledateFormat (Format) .Parse (datestrySt.Str); } catch (parseException e) {e.printstacktrace (); } return strdate; } /** * * @Title: DateDate2CompareValue * @Description: The two date types compare sizes* @param dayAfter date type* @param date date type* @param formatting* @return boolean * @throws */ public static boolean DateDate2CompareValue(Date dayAfter, Date date, String pattern) { SimpleDateFormat sdf = new SimpleDateFormat (Muster); try {date d1 = sdf.parse (SDF.Format (Dayafter)); Datum D2 = SDF.Parse (SDF.Format (Datum)); if (d1.getTime ()> = d2.getTime ()) {return true; }} catch (parseException e) {e.printstacktrace (); } return false; } / ** * Vergleichen Sie die Größen von zwei Daten, Jahr, Monat und Tag * @title: dateCompareValue * @Description: Ein stabiler Datumstyp vergleicht die Größe * @param Datum1 -String -Typ * @param Datum2 Datum 2 @param @return SimpleDateFormat SDF = new SimpledateFormat (Muster); try {date d1 = sdf.parse (Datum1); Datum D2 = SDF.Parse (SDF.Format (Datum)); if (d1.getTime ()> = d2.getTime ()) {return true; }} catch (parseException e) {// Todo automatisch generierter Block E. printstacktrace (); } return false; } / ** * Vergleichen Sie die Größen von zwei Daten, Jahr, Monat und Tag * @title: dreatestr2CompareValue * @Description: Zwei String -Typen vergleichen Sie Zeitgrößen * @param Date1 * @param Date2 * @return boolean * @throws * / @Suppresswarnings ("Ungewendet" öffentlich statatic boolean) SimpleDateFormat SDF = new SimpledateFormat (Muster); try {date d1 = sdf.parse (Datum1); Datum D2 = SDF.Parse (Datum2); if (d1.getTime ()> = d2.getTime ()) {return true; }} catch (parseException e) {e.printstacktrace (); } return false; } / **** @title: get2datelistDate* @date 17. Mai 2016 um 2:11:48 PM* @Description: Holen Sie sich die Datumssammlung von Tagen ab der Zeit auseinander* @param @param @param startzeit* @param @param NextDate Endzeit* @param @Param fomat fomat format* @param @param @return @return liste List <Date> get2DatelistDate (String Preate, String NextDate, String -Format) {list <Date> list = new ArrayList <> (); if (nextDate.equals (adreate)) {// Wenn die Startzeit und die Endzeit gleich sind, kehren Sie direkt zu list.add (DateUtil.String2Date (Priat, Format)) zurück; Rückgabeliste; } String nexDate = dateUtil.getSpecifiedDayAfter (Predate, Format); list.Add (DateUtil.String2Date (Priat, Format)); list.add (DateUtil.String2Date (NexDate, Format)); while (! nexDate.equals (NextDate)) {String NextNextDate = DateUtil.getSpecifiedDayAfter (NexDate, Format); list.add (DateUtil.String2Date (NextDate, Format)); NexDate = NextNextDate; } Rückgabeliste; } / **** @title: get2datelistDate* @date 17. Mai 2016 um 2:11:48 PM* @Description: Holen Sie sich die String -Sammlung von Tagen in der Zeit auseinander* @param @param @param startzeit* @param @param NextDate Endzeit* @param @Param fomat fomat format* @param @param @return @return liste List <String> get2DatelistDatestern (String Preate, String NextDate, String -Format) {list <string> list = new ArrayList <> (); if (nextDate.equals (adreate)) {// Wenn die Startzeit gleich der Endzeit ist, ist es die Liste der selben Tags. Rückgabeliste; } String nexDate = dateUtil.getSpecifiedDayAfter (Predate, Format); list.add (vorgefertigt); list.add (NexDate); while (! nexDate.equals (NextDate)) {String NextNextDate = DateUtil.getSpecifiedDayAfter (NexDate, Format); list.add (NextDate); NexDate = NextNextDate; } Rückgabeliste; } /** * * @Title: get2DateListWithDate * @date May 26, 2016 at 9:20:29 am * @Description: Get the date between two dates * @param @param startDate Start date date type* @param @param endDate End date date type* @param @return * @return List<Date> datelist * @throws */ public static List<Date> get2DatelistWithDate (Datum startdate, Datum Enddate, String -Format) {list <Date> list = new ArrayList <> (); if (startDate.getTime ()> enddate.getTime ()) {return list; } String startDateStr = dateUtil.date2string (startDate, Format); String enddatestr = dateUtil.date2string (Enddate, Format); if (startDatestr.equals (enddatestr)) {// Wenn die Startzeit gleich der Endzeit ist, ist es die Liste der selben Tags.add (startDate); Rückgabeliste; } Date nextDate = dateUtil.getDayAfter (startDate, Format); String NextDateStr = DateUtil.Date2String (NextDate, Format); // String enddatestr = dateUtil.date2string (Enddate, Format); list.add (startDate); list.add (NextDate); while (! NextDatestr.Equals (EndDatestr)) {String NextNextDate = DateUtil.getSpecifiedDayAfter (NextDatestern, Format); list.add (DateUtil.String2Date (NextDate, Format)); NextDateStr = NextNextDate; } Rückgabeliste; } public static void main (String [] args) löst eine Ausnahme aus { / ** / String Predate = GetspecifiedDayBefore ("2016-05-01", "yyyy-mm-dd"); String NextDate = GetspecifiedDayAfter ("2016-05-03", "yyyy-mm-dd"); Datum Befroday = GetdayBefore (neues Datum (), "yyyy-mm-dd"); Datum datofter = getDayAfter (neues Datum (), "yyyy-mm-dd"); // system.out.println ("Vorheriger Tag:" + Preate + "Nächster Tag:" + NextDate); // system.err.println ("Vorheriger Tag:" + Date2String (Befroday, "Yyyy-mm-dd") + "// Am nächsten Tag:" + datoder); String mat = "yyyy-mm-dd"; // Es ist am besten, SimpledateFormat aus der Datenbank datetimeFormat = new SimpledateFormat zu lesen. Datum dd = dateUtil.getDaybefore (neues Datum (), Mat); // Datum befroday = GetDayBefore (neues Datum (), "yyyy-mm-dd"); String SD = Date2String (BeFroday, "yyyy-mm-dd"); String datenESTR = DateTimeFormat.format (BeFroday); // system.out.println ("datestr ="+datestr+"sd"+sd); // List <Date> listdate = get2DatelistDate ("2016-05-01", "2016-05-03", "Yyyy-Mm-Dd"); // List <String> listDatestre = get2DatelistDatestern ("2016-05-01", "2016-05-03", "yyyy-mm-dd"); Datum startDate = new Date (); Datum Enddate = DateTimeFormat.Parse ("2016-05-31"); List <Date> listDate = get2DatelistWithDate (StartDate, Enddate, "Yyyy-Mm-dd"); für (int i = 0; i <listDate.size (); i ++) {System.err.println (listDate.get (i)); } /*für (int i = 0; i <listDateStr.SIZE (); i ++) {//system.out.println(ListDATESTR.get(i)); }*/}Das obige dreht sich alles um diesen Artikel. Ich hoffe, dass es für alle hilfreich sein wird, Java -Programme zu lernen.