Implementierungscode eins:
importieren java.text.SimpledateFormat; import Java.util.calendar; importieren java.util.date; öffentliche Klasse DateTestUtil {public static void main (String [] args) löst eine Ausnahme aus {SimpleDateFormat sdf = new SimpleDateFormat ("yyyyymmdd"); String str = "20110823"; Datum dt = sdf.parse (str); Calendar rightnow = calendar.getInstance (); rightnow.settime (dt); rightnow.add (Calendar.year, -1); // Datum minus 1 Jahr rechte Neuerung (Calendar.month, 3); // Datum plus 3 Monate rechts. String rest = sdf.format (dt1); System.out.println (rest); }}HINWEIS: In der Methode hinzufügen des Kalenderobjekts ist der zweite Parameter eine positive Zahl, die "hinzufügen" bedeutet, und eine negative Zahl, die "Subtraktion" bedeutet.
Code 2: Java Datum fügt und subtrahiert die Anzahl der Tage
Testklassencode:
Java.Text.SimpledateFormat importieren; import Java.util.date; public class dateTest {public static void main (String [] arg) {Datum jetzt = new Date (); addandSubtractDaysByGetTime (jetzt, -5); addandSubtractDaysBygetTime (jetzt, 5); addandSubtractdaysByCalendar (jetzt, -5); addandSubtractdaysByCalendar (jetzt, 5); } öffentliches statisches Datum addAndSubractDaysByGetTime (Datumsdatetime/*Ausstehende Datum*/, int n/*Additions- und Subtraktionstage*/) {// Datumsformat SimpleDateFormat df = new SimpleDateFormat ("yyyy-mm-dd"); SimpleDateFormat DD = new SimpledateFormat ("yyyy-mm-dd hh: mm: ss"); System.out.println (df.format (neues Datum (DateTime.getTime () + n * 24 * 60 * 60 * 1000L)); //System.out.println(dd.Format(New Datum (DateTime.getTime () + N * 24 * 60 * 60 * 1000L)); // Beachten Sie, dass Sie hier in einen langen Typ konvertieren müssen. Andernfalls tritt der Bereichsüberlauf auf, wenn N 25 überschreitet, damit Sie nicht das gewünschte Datumswert zurückholen können. } öffentliches statisches Datum addAndSubractDaysByCalendar (Datumsdatetime/*Ausstehende Datum*/, int n/*zusätzliche und Subtraktionstage*/) {// Datumsformat SimpleDateFormat df = new SimpleDateFormat ("yyyy-mm-dd"); SimpleDateFormat DD = new SimpledateFormat ("yyyy-mm-dd hh: mm: ss"); java.util.calendar calstart = java.util.calendar.getInstance (); Calstart.Settime (DateTime); calstart.add (java.util.calendar.day_of_week, n); System.out.println (df.format (calstart.getTime ())); //System.out.println (dd.format (calstart.getTime ())); return calstart.getTime (); }} Auslaufergebnisse:
2014-10-06
2014-10-16
2014-10-06
2014-10-16
Code drei:
Überprüfen Sie die Informationen online und fügen Sie einige Werkzeugkurse über die Datumsklasse hinzu, die Sie zusammengefasst haben.
Paket com.data.utils; import java.text.SimpledateFormat; importieren java.util.calendar; importieren java.util.date; public class dateFormat { / *** Wie viele Jahre ist das Datum reduziert* / public static String dateminusyar (String) (SimpledyyM "). Datum dt = sdf.parse (str); Calendar rightnow = calendar.getInstance (); rightnow.settime (dt); rightnow.add (calendar.year, -1); // Datum minus 1 Jahr Datum dt1 = rightnow.getTime (); String rest = sdf.format (dt1); Rückspannung; } / *** Wie viele Jahre bisher hinzufügen* / public static String dataDyear (String str) Ausnahme ausgelöst {SimpledateFormat sdf = new SimpledateFormat ("yyyymm"); Datum dt = sdf.parse (str); Calendar rightnow = calendar.getInstance (); rightnow.settime (dt); rightnow.add (Calendar.year, 1); // Datum plus 1 Jahr Datum dt1 = rightnow.getTime (); String rest = sdf.format (dt1); Rückspannung; } / *** Wie viele Monate reduziert das Datum* / public static String Dateminusmonth (String Str) Ausnahme {SimpleDateFormat sdf = new SimpledateFormat ("yyyymm"); Datum dt = sdf.parse (str); // generieren Sie den String Calendar rightnow = calendar.getInstance (); rightnow.settime (dt); // Legen Sie die Zeit dieses Kalenders mit dem angegebenen Datum fest. rightnow.add (calendar.month, -1); // Datum minus 1 Monat Datum dt1 = rightnow.getTime (); // Gibt ein Datumsobjekt zurück, das den Kalenderzeitwert darstellt. String rest = sdf.format (dt1); // formatieren Sie das angegebene Datum als Datum/Zeitzeichenfolge und fügen Sie das Ergebnis dem angegebenen StringBuffer hinzu. Rückspannung; } / ** * Wie viele Monate addiert das Datum hinzu * / public static String dataDdmonth (String Str) Ausnahme {SimpleDateFormat sdf = new SimpledateFormat ("yyyymm"); Datum dt = sdf.parse (str); Calendar rightnow = calendar.getInstance (); rightnow.settime (dt); rightnow.add (calendar.month, 1); // 3 Monate bis Datum hinzufügen // rechten String rest = sdf.format (dt1); Rückspannung; } / ** * GET STR für den ersten Monat des laufenden Jahres und Monat * @param str * 201505 * @Return 201501 * @throws Exception * / public static String Dateonather (String Str) {Str = Str.Substring (0, Str.Length () - 2); str = str + "01"; return str; } /*** Berechnen Sie, wie viele Monate der ausgewählte Monat im Januar ist. * @param str 201509 * @return 9 */ public static int -dateistancemonth (String str) {int i = integer.parseInt (str); int j = Integer.ParseInt (DateFormat.DateOmonatherth (STR)); System.out.println (i - j); Return I - J + 1; } / ** * Erhalten Sie den Zeitunterschied zwischen zweimal, genau auf Millisekunden * @param str * @return * / public static String Timedifference (langes Start, langes Ende) {lang zwischen = Ende - Start; langer Tag = zwischen / (24 * 60 * 60 * 1000); lange Stunde = (zwischen / (60 * 60 * 1000) - Tag * 24); lang min = (zwischen / (60 * 1000)) - Tag * 24 * 60 - Stunde * 60); lang s = (zwischen / 1000 - Tag * 24 * 60 * 60 - Stunde * 60 - min * 60); Long ms = (zwischen - Tag * 24 * 60 * 60 * 1000 - Stunde * 60 * 60 * 60 * 1000 - min * 60 * 1000 - S * 1000); String Timedifferenz = Tag + "Tag" + Stunde + "Hour" + min + "Minute" + S + "Sekunden" + ms + "Millisekunden"; Return Timedifferenz; }} /** * Get the start time of 24 hours, one week, and one month* * @param timeInterval * : DAY_TIME_INTERVAL WEEK_TIME_INTERVAL MONTH_TIME_INTERVAL * @return "yyyy-mm-dd hh:mm:ss" */ public static String getStartTime(int timeInterval) { Calendar cal = Calendar.getInstance(); SimpleDateFormat SDF = new SimpledateFormat ("yyyy-mm-dd hh: mm: ss"); if (day_time_interval == timeInterval) {// Erhalten Sie die 24-Stunden-Startzeit Cal.set (calendar.hour_of_day, 0); Cal.set (Calendar.minute, 0); Cal.set (Calendar.second, 0); String startTime = sdf.format (cal.getTime ()); Rückgabestartzeit; } else if (week_time_interval == timeInterval) {int woCHNEDAGE = CAL.get (calendar.day_of_week) - 1; Cal.Add (Calendar.Date, -Weekday); Cal.set (calendar.hour_of_day, 0); Cal.set (Calendar.minute, 0); Cal.set (Calendar.second, 0); String startTime = sdf.format (cal.getTime ()); Rückgabestartzeit; } else if (monat_time_interval == timeInterval) {int DayofMonthmin = cal.getacualminimum (Calendar.day_of_month); // C.Add (Calendar.Date, -Dayofmonth); Cal.set (Calendar.Date, DayofMonthmin); Cal.set (calendar.hour_of_day, 0); Cal.set (Calendar.minute, 0); Cal.set (Calendar.second, 0); String startTime = sdf.format (cal.getTime ()); Rückgabestartzeit; } return null; } / ** * Holen Sie sich die Endzeit von 24 Stunden, eine Woche und einen Monat * * @param timeInterval *: DAY_TIME_INTERVAL WOEP_TIME_INTERVAL MONTH_TIME_INTERVAL * @Return "yyyy-mm-dd hh: mm: ss" * / public static String gettime (int timeInterval) {calendar {calendar) {calendar {calendar) {Calendar) {Calendar). Cal.Settimezone (TimeZone.getTimeZone ("GMT+8")); SimpleDateFormat SDF = new SimpledateFormat ("yyyy-mm-dd hh: mm: ss"); if (day_time_interval == timeInterval) {cal.set (calendar.hour_of_day, 23); Cal.set (12, 59); Cal.set (13, 59); long date = cal.getTimeInmillis (); String endTime = SDF.Format (neues Datum (Datum)); Endzeit zurückgeben; } else if (week_time_interval == timeInterval) {int woCHNEDAGE = CAL.get (calendar.day_of_week) - 1; Cal.Add (Calendar.Date, -Weekday); Cal.Add (Kalender.Date, 6); Cal.set (calendar.hour_of_day, 23); Cal.set (12, 59); Cal.set (13, 59); long date = cal.getTimeInmillis (); String endTime = SDF.Format (neues Datum (Datum)); Endzeit zurückgeben; } else if (monat_time_interval == timeInterval) {int DayofMonthmax = cal.getacualMaximum (Calendar.day_of_month); Cal.set (Calendar.Date, DayofMonthMax); Cal.set (calendar.hour_of_day, 23); Cal.set (Calendar.minute, 59); Cal.set (Calendar.Second, 59); String endTime = SDF.Format (cal.getTime ()); Endzeit zurückgeben; } return null; } /*** Bestimmen Sie, ob DATESTR zwischen Start und Ende liegt. Sowohl Start als auch Ende können null yyyymmddhhmms oder yyyymmdd -Format sein. Datum Datum = null; Datum startDate = null; Datum enddate = null; SimpleDateFormat SDF = NULL; // Richterdatumformat if (14 == datenestr.Length ()) {sdf = new SimpledateFormat ("yyymmddhmms"); } else if (8 == datestr.Length ()) {sdf = new SimpledateFormat ("yyyymmdd"); } sonst return false; Versuchen Sie {// Ändern Sie das Richterdatumdatum = SDF.Parse (datESTR); } catch (parseException e) {log.Error (e, e); } if ((start == null) && (end! = null)) {try {enddate = sdf.parse (end); } catch (ParseException ex1) {log.Error (ex1, ex1); } if ((Datum! = null) && (enddate! }} else if ((start! = null) && (end == null)) {try {startDate = sdf.parse (start); } catch (ParseException ex1) {log.Error (ex1, ex1); } if ((Datum! }} else if ((start! = null) && (end! = null)) {try {startDate = sdf.parse (start); Enddate = SDF.Parse (Ende); } catch (parseException ex2) {System.out.println (ex2.toString ()); } if ((startDate! = null) && (Datum! = null) && (enddate! }} return isdahrlicht; } / ** * Um festzustellen, ob DEDESTT zwischen Start und Ende liegt, können sowohl Start als auch Ende im Null -Langzeitformat sein langes Datum = -1; lange Fromdate = -1; langes Todate = -1; Datum = java.lang.long.parselong (datestern); if ((start == null) && (end == null)) {isdahright = true; } else if ((start == null) && (end! = null)) {try {todate = java.lang.long.parselong (Ende); } catch (numberFormatexception nfe) {log.Error (nfe, nfe); } if (Datum <= todate) {isdahright = true; }} else if ((start! } catch (numberFormatexception nfe) {log.Error (nfe, nfe); } if (Datum> = fromdate) {isdahright = true; }} else if ((start! = null) && (end! Fromdate = java.lang.long.parselong (Start); } catch (numberFormatexception nfe) {log.Error (nfe, nfe); } if ((Datum <= todate) && (Datum> = fromdate)) {isDahright = true; }} return isdahrlicht; }Diese werden bisher verwendet, und Sie können sie jederzeit hinzufügen. Es gibt einfache und bequeme Zeitwerkzeuge. Ich hoffe, mit Ihnen zu lernen, und ich werde sie in den Kommentaren darauf hinweisen. Danke! ! !