In der Projektentwicklung sind Daten ein unverzichtbarer Teil von uns. In diesem Artikel werden einige gängige Methoden zu Daten in der Codeentwicklung zusammengefasst, um Ihre spätere Verwendung zu erleichtern. Die Gerichte werden direkt unten serviert:
paket com.example.util; Java.text.ParseException importieren; Java.Text.SimpledateFormat importieren; Import Java.util.ArrayList; import Java.util.calendar; import Java.util.date; importieren java.util.list; / *** Common Date Methods** @Author**/ public class dateUtils {/ *** Gemeinsame Variablen*/ public static Final String date_format_full = "yyyy-mm-dd hh: mm: ss"; public static final String date_Format_ymd = "yyyy-mm-dd"; public static Final String date_Format_HMS = "HH: MM: SS"; public static Final String date_Format_HM = "HH: MM"; public static final String date_Format_ymdhm = "yyyy-mm-dd hh: mm"; public static final String date_Format_ymdhmms = "yyyymmddhhmmss"; public static Final Long One_day_Mills = 3600000 * 24; public static final int week_days = 7; private statische endgültige int datelength = date_format_ymdm.Length (); / ** * Datum in Format -Zeichenfolge konvertieren * * @param time * @param Format * @return */ public static String formatToToString (Datumszeit, String -Format) {SimpleDateFormat sdf = new SimpleDateFormat (Format); return sdf.format (Zeit); } / ** * Die Zeichenfolge in das Formatdatum * konvertieren * (Hinweis: Wenn das Datum, das Sie eingegeben haben, 2014-12-21 12:12 ist, sollte das entsprechende Format yyyy-mm-dd hh: mm * ansonsten sein wird die Ausnahme ausgeworfen) * @param Datum * @Param Format * @Throws ParseException * @public static-Datum. SimpleDateFormat SDF = new SimpledateFormat (Format); try {return sdf.parse (Datum); } catch (parseException ex) {ex.printstacktrace (); Neue RunTimeException werfen (ex.ToString ()); }} / ** * Bestimmen Sie, ob ein Datum zu zwei Perioden gehört * @Param -Zeit * @param Timerange * @return * / public static boolean isTimeInrange (Datum Uhrzeit, Datum [] Timerange) {return (! Time.before (timerange [0]) &&! Timerange (timerange [1]); } / ** * Zeit von der vollständigen Zeit bis zur Minute * * @param fulldatestr * @return * / public static String getDatetominute (String fulldatestern) {return fulldatestern == null? NULL: (fulldatestr.Length ()> = datelength? } /*** Kehren Sie alle Wochen des angegebenen Jahres zurück. Die Liste enthält die Zeichenfolge [2] Objektzeichenfolge [0] Startdatum der Woche, und String [1] ist das Enddatum der Woche. * Das Datum liegt im Format von Yyjyy-MM-DD in der ersten Woche eines jeden Jahres muss Montag beinhalten und sieben Tage sein. * Zum Beispiel: Die erste Woche des Jahres 2009 beginnt bei 2009-01-05 und die Ende 2009-01-11. Welches Jahr ist Montag? Welche Woche ist dann in dieser Woche enthalten? * Zum Beispiel: 2008-12-29 ist Montag, 2009-01-04, ist Sonntag, also ist diese Woche die letzte Woche des Jahres 2008. * * @Param Jahr * Format yyyy, muss größer als 1900 und weniger als 9999 * @return @ */ public static liste <]> getweeksbyyyyyars (endgültig int Jahr) {Int Weeks = GetweeKeeNyear (Jahr). Liste <String []> result = new ArrayList <string []> (Weeks); int start = 1; int End = 7; für (int i = 1; i <= weeks; i ++) {String [] tempweek = new String [2]; tempweek [0] = getDatefordayofweek (Jahr, ich, Start); tempweek [1] = getDatefordayofweek (Jahr, i, Ende); result.add (tempweek); } Rückgabeergebnis; } / ** * Berechnen Sie das Vorjahr und die Woche des angegebenen Jahres und der Woche * * @param Jahr * @param week * @return @ * / public static int [] getLastyearweek (int Jahr, int Woche) {if (Woche <= 0) {Neue IllegalArgumentException ("Die wöchentliche Nummer kann nicht weniger als 1 !!"); } int [] result = {Woche, Jahr}; if (Woche == 1) {// Vorjahresergebnis [1] -= 1; // letzte Woche Ergebnis [0] = getweeknumofyear (Ergebnis [1]); } else {result [0] -= 1; } Rückgabeergebnis; } / ** * Weiter [Woche, Jahr] * * @param Jahr * @param week * @return @ * / public static int [] GetNeTyearweek (int Jahr, int Woche) {if (Woche <= 0) {neue IllegalArgumentException ("Die wöchentliche Nummer kann nicht weniger als 1 sein!"); } int [] result = {Woche, Jahr}; int weeks = getweeknumofyear (Jahr); if (Woche == Wochen) {// Ergebnis des nächsten Jahres [1] += 1; // Ergebnis in der ersten Woche [0] = 1; } else {result [0] += 1; } Rückgabeergebnis; } /*** Berechnen Sie, wie viele Wochen es in einem bestimmten Jahr gibt. (beginnt am Montag) * * @param Jahr * @return @ */ public static int getweeknumofyear (letztes int Jahr) {return getweeknumofyear (Jahr, Calender.Monday); } /*** Berechnen Sie, wie viele Wochen es in einem bestimmten Jahr gibt. * * @param Jahr * yyyy * @return @ */ public static int getweeknumofyear (Final Int Year, int Firstdayofweek) {// Es gibt mindestens 52 Wochen pro Jahr und bis zu 53 Wochen. int minweeks = 52; int maxweeks = 53; int result = minweeks; int Sindex = 4; String date = getDateForDayofweek (Jahr, Maxweeks, FirstayofWeek); // Um festzustellen, ob die Jahresübereinstimmungen, wenn es übereinstimmt, bedeutet dies, dass es 53 Wochen gibt. if (Datum.Substring (0, Sindex) .Eequals (Jahr)) {result = maxweeks; } Rückgabeergebnis; } public static int get weeksofweekyear (endgültiges Jahr) {Calendar Cal = Calendar.getInstance (); Cal.setFirstdayofweek (Kalender.Monday); Cal.setminimaldaySInfirstWeek (Week_Days); Cal.set (Calendar.year, Jahr); return cal.getweeksinweekyear (); } / ** * Erhalten Sie das Datum, das dem Tag der Woche des angegebenen Jahres entspricht. Weekofyear, Dayofweek, Kalender.Monday); } /** * Holen Sie sich das Datum, das dem Tag der Woche des angegebenen Jahres entspricht, und geben Sie den Tag der Woche an, um den ersten Tag der Woche (Firstdayofweek) zu berechnen. Format */ public static String getDatefordayofweek (int Jahr, int Weekofyear, int Dayofweek, int FirstdayofWeek) {Calendar Cal = Calendar.getInstance (); Cal.setFirstdayofweek (FirstDayofweek); Cal.set (CALENDAR.DAY_OF_WEEK, DAYOFWEEK); Cal.setminimaldaySInfirstWeek (Week_Days); Cal.set (Calendar.year, Jahr); Cal.set (Calendar.week_of_year, Weekofyear); return formatDateToString (cal.getTime (), DATE_FORMAT_YMD); } / ** * Erhalten Sie das angegebene Datum der Woche * * @param datetime * @throws parseException * @ * / public static int getweePdate (String datetime) löscht ParseException {calendar cal = calendar.getInstance (); Cal.setFirstdayofweek (Kalender.Monday); Cal.setminimaldaySInfirstWeek (Week_Days); Datum Datum = formatStringtodate (DateTime, DATE_FORMAT_YMD); Cal.Settime (Datum); return Cal.get (calendar.day_of_week); } / ** * Berechnen Sie alle Daten in einer bestimmten Woche eines bestimmten Jahres (vom Montag bis zum ersten Tag der Woche) * * @param SwerNum * @param weeknum * @return @ * / public static List <string> GetWeekdays (int SwerNum, Int Weeknum) {return get weweekdays (sajnumnum, wöchentlich, kalgle, kalgle, calgus, calendar.monday); } / ** * Berechnen Sie alle Daten in einer bestimmten Woche eines bestimmten Jahres (sieben Tage) * * @param Segnum * @param weeknum * @return yyyy-mm-dd-Format-Datumsliste * / public static list <string> GetWeekdays (int Jahr, intwoche, intagesofweek) {liste <string> dates = newnraylist = newnraylist = newnraylist <strangs = newnraylist <strangs <strangs <strings = New Arraylist <Strains = Neue Arrayliste <string> {String {String = New Arraylist <Strains = New Arraylist <State = New Arraylist <Strains {String = New Arraylist <Strains = New Arraylist <Staaten). int tayofweek = erster TagofWeek; für (int i = 0; i <week_days; i ++) {dates.add (getDatefordayofweek (Jahr, Woche, Dayofweek ++, Firstdayofweek)); } Rückgabedaten; } / ** * Holen Sie sich die Informationen zum Jahr und die Woche zum Zieldatum für die Vorwoche, diese Woche oder nächste Woche * * @param queryDate * eingehende Zeit * @param weekOffset * -1: Letzte Woche 0: diese Woche 1: Nächste Woche: Nächste Woche * @param FirstDayofWeek * Welcher Tag der Woche ist der erste Tag * @return * @throws parsexcexception * / public static int [ WeekOffset, int FirstdayOfWeek) löscht ParseException {Date Date = formatStringtodate (queryDate, DATE_FORMAT_YMD); Calendar Calendar = Calendar.getInstance (); Kalender.Settime (Datum); Calendar.SetFirstdayofweek (FirstDayofweek); CALENDAR.SETMINIMALDAYSINFIRSTWEEP (Week_Days); int yeal = calendar.getweekyear (); int week = calendar.get (calendar.week_of_year); int [] result = {Woche, Jahr}; Switch (WeekOffset) {Fall 1: result = getNexyearweek (Jahr, Woche); brechen; Fall -1: Ergebnis = getLastyearweek (Jahr, Woche); brechen; Standard: Break; } Rückgabeergebnis; } / ** * Berechnen Sie die Anzahl der Tage für zwei Tage * * @param startDate * Startdatum String * @param enddate * Enddatum String * @return * @throws ParseException * / public static int getaysBetween (String StartDate, String Enddate) löscht ParseException {int Daygap = 0; if (startDate! = null && startDate.length ()> 0 && enddate! Datum start = formatStringtodat (startDate, DATE_FORMAT_YMD); DAYGAP = GetDaysBets (Start, Ende); } Return Daygap; } private static int getaysbetween (Datum startdate, Datum Enddate) {return (int) ((enddate.getTime () - startDate.getTime ()) /One_day_Mills); } / ** * Berechnen Sie die Differenz in der Anzahl der Tage zwischen zwei Daten * @param startDate * @param enddate * @return * / public static int getDaysGapofdates (Datum Startdate, Datum Enddate) {int Datum = 0; if (startDate! = null && enddate! } Rückgabedatum; } / ** * Berechnen Sie die Jahreslücke zwischen zwei Daten * * @param firstDate * @param zweitdatum * @return * / public static int getyeargapofdates (Datum FirstDate, Datum zweitdatum) {if (firstdate == null || SecondDate == null) {return 0; } Kalendar helpcalendar = calendar.getInstance (); helpcalendar.settime (FirstDate); int Firstyear = helpcalendar.get (Kalender.YEAR); helpcalendar.settime (SecondDate); int Secondyear = helpcalendar.get (Kalender.YEAR); Rückkehr Secondyear - Firstyear; } / ** * Berechnen Sie die Monatslücke zwischen zwei Daten * * @param firstDate * @param zweitdatum * @return * / public static int getMonthGapofdates (Datum FirstDate, Datum zweitdatum) {if (firstdate == null || SecondDate == NULL) {return 0; } return (int) ((SecondDate.getTime () - firstDate.getTime ()) / One_day_mills / 30); } / ** * Berechnen Sie, ob das aktuelle Datum enthalten ist SimpleDateFormat fmt = new SimpledateFormat (DATE_FORMAT_YMD); Datum Datum = neuer Datum (); String datestr = fmt.format (Datum); für (int i = 0; i <dates.size (); i ++) {if (datest.equals (dates.get (i))) {flag = true; }} Rückkehrflag; } / ** * Berechnen Sie das Datum der Zeit der Zeit von Datum * * @param Datum * @param time * @return * @throws parseException * / public static String getCalculedatetoString (String startdate, int time) löscht ParseException {String resultdate = null aus; if (startdate! Kalender c = calendar.getInstance (); C.Settime (Datum); C.Set (Calendar.day_of_year, Zeit); Datum = C.GetTime (); resultdate = formatDateToString (Datum, DATE_FORMAT_YMD); } return Ergebnisdate; } / ** * Erhalten Sie die Woche des Jahres, in dem das angegebene Datum aus einem bestimmten Datum berechnet wird c.settime (formatStringtodat (Adjitdate, DATE_FORMAT_YMD)); int time = C.Get (calendar.day_of_week); return getweekandyear (Datum, 0, Uhrzeit); } / ** * Holen Sie sich das angegebene Datum Refdate, alle Daten der Woche vor oder nach * @param refdate * Referenzdatum * @param weekOffset * -1: Letzte Woche 0: Diese Woche 1: Nächste Woche * @param startdate * Welcher Tag zählt den ersten Tag der Woche * @return yyyyyy mm-ddddddat * @throwows Parsexsexception. Refdate, int WeekOffset, String startDate) löst ParseException {// startdate als ersten Tag der Woche Kalender C = Calender.getInstance () aus; C.Settime (formatStringtodat (startDate, DATE_FORMAT_YMD)); int Firstdayofweek = C.Get (Calendar.day_of_week); // Erhalten Sie die entsprechende Woche int [] weekandyear = getweekandyear (refdate, weekOffset, FirstdayofWeek); // Erhalten Sie alle Daten der entsprechenden Woche Return GetWeekdays (Woche und und 1], weekandyear [0], FirstdayofWeek); } / ** * Erhalten Sie das Zeitintervall entsprechend dem Zeitpunkt * * @param Stunden * @return * / public staticlist <string []> getTimePointSByHour (int [] Stunden) {list <string []> HOGNOPPE = New ArrayList <string []> (); String SBstart = ": 00: 00"; String sbend = ": 59: 59"; für (int i = 0; i <Stunden.length; i ++) {String [] Times = New String [2]; Zeiten [0] = Stunden [i] + SBstart; Zeiten [1] = (Stunden [(i + 1 + Stunden) % Stunden.Länge] - 1) + sbend; Hourpoins.Add (Zeiten); } return hourpoints; } / ** * die Anzahl der Tage nach dem angegebenen Datum * * @Param Datum * @param betragen * @return * / public statisches Datum adddays (Datum, int Betrag) {return add (Datum, Kalender.Day_of_month, Betrag); } / ** * Erhöhen oder verringern Sie die Nummer gemäß dem angegebenen Datum, tippen Sie * * @param Datum * @param CalenderDarf * @param Betrag * @return * / public statisches Datum add (Datumsdatum, int CalenderField, int Betrag) {if (Datum == NULL) {Neue IlalArgumentException ("Das Datum darf Null nicht sein"); } Kalendar c = calendar.getInstance (); C.Settime (Datum); C.Add (Kalenderfeld, Betrag); return C.GetTime (); } / ** * Erhalten Sie die maximale Datum des aktuellen Datums 2014-12-21 23:59:59 * @Return * / public static Datum getCurdateWithMaxtime () {Kalender c = calendar.getInstance (); C.Set (calendar.hour_of_day, 23); C.Set (Kalender.minute, 59); C.Set (Kalender.Second, 59); return C.GetTime (); } / ** * Erhalten Sie die Mindestdatumzeit des aktuellen Datums2014-12-21 00:00:00 * @return * / public static Datum getCurdateWithmintime () {Kalender c = calender.getInstance (); C.Set (calendar.hour_of_day, 0); C.Set (Kalender.minute, 0); C.Set (Kalender.Second, 0); C.Set (Kalender.Millisekunde, 0); return C.GetTime (); }}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.