Artikel ini membagikan kelas alat operasi Java Tanggal untuk Anda, memperoleh tanggal yang ditentukan satu hari sebelumnya dan satu hari setelah hari itu; Konversi tanggal; Jumlah hari antara dua tanggal dan alat lain untuk referensi Anda. Konten spesifiknya adalah sebagai berikut
impor java.text.parseException; import java.text.simpledateFormat; impor java.util.arraylist; impor java.util.calendar; import java.util.date; import java.util.list; Kelas Publik Dateutil { / ** * Sehari sebelum tanggal yang ditentukan diperoleh * * @param Specifiedday * @param format * @return * @throws Exception * / Tanggal statis publik getDayBefore (tanggal tanggal, format string) {calendar c = calendar.getInstance (); C.SetTime (tanggal); int day = c.get (calendar.date); C.Set (Calendar.Date, Day - 1); String daybeforestr = new SimpleDateFormat (format) .Format (c.getTime ()); Tanggal daybefore = null; coba {daybefore = new SimpleDateFormat (format) .parse (daybeforestr); } catch (parseException e) {e.printstacktrace (); } return daybefore; } / ** * Sehari setelah mendapatkan tanggal yang ditentukan * * @param Specifiedday * @return * / Public Static Date GetdayAfter (tanggal tanggal, format string) {Calendar C = Calendar.getInstance (); C.SetTime (tanggal); int day = c.get (calendar.date); C.Set (Calendar.Date, Day + 1); String dayaterstr = new SimpleDateFormat (format) .Format (c.getTime ()); Tanggal DayAfter = NULL; coba {dayaFter = new SimpleDateFormat (format) .parse (DayaTterStr); } catch (parseException e) {e.printstacktrace (); } return DayAfter; } / ** * Dapatkan hari sebelum tanggal yang ditentukan * * @param Specificedday * @param format * @return * @throws Exception * / Public Static String GetSpecifieddayBefore (String SpecifiedDay, String format) {// SimpledateFormat SimpledateFor = new // SimpledateFormat ("yyyy-mm-mm); Kalender c = calendar.getInstance (); Tanggal Tanggal = NULL; coba {date = new SimpleDeFormat ("yy-mm-dd"). parse (specifiedday); } catch (parseException e) {e.printstacktrace (); } c.settime (tanggal); int day = c.get (calendar.date); C.Set (Calendar.Date, Day - 1); String daybefore = new SimpleDateFormat ("yyyy-mm-dd"). Format (c.getTime ()); kembali harian; } / ** * Sehari setelah mendapatkan tanggal yang ditentukan * * @param Specifiedday * @return * / Public Static String getSpecifiedDayAfter (String Specifiedday, String format) {Calendar C = calendar.getInstance (); Tanggal Tanggal = NULL; coba {// date = new SimpleDateFormat ("yy-mm-dd"). parse (specifiedday); date = new SimpleDateFormat (format) .parse (specifiedday); } catch (parseException e) {e.printstacktrace (); } c.settime (tanggal); int day = c.get (calendar.date); C.Set (Calendar.Date, Day + 1); // string dayafter = new // SimpleDateFormat ("yyyy-mm-dd"). Format (c.getTime ()); String DayaFter = new SimpleDateFormat (format) .Format (c.getTime ()); Kembalikan DayAfter; } / ** * Akurat Tipe tanggal menjadi string dalam format yang ditentukan * * @param Day Date * @param Format Tentukan format * @return * / public static string date2string (format date, format string) {string DataStr = new SimpledateFormat (format) .Format (day.getTime ()); return DataStr; } / ** * Konversi string ke tipe tanggal dalam format yang ditentukan * * @param day date * @param format Tentukan format * @return * / public static date string2date (string dateStr, string format) {date strdate = null; coba {strdate = new SimpleDateFormat (format) .parse (dateStr); } 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(pattern); coba {date d1 = sdf.parse (sdf.format (DayaFter)); Tanggal d2 = sdf.parse (sdf.format (tanggal)); if (d1.getTime ()> = d2.getTime ()) {return true; }} catch (parseException e) {e.printstacktrace (); } return false; } / ** * Bandingkan ukuran dua tanggal, tahun, bulan dan hari * @title: datecomparevalue * @description: tipe satu tanggal yang stabil membandingkan ukuran * @param date1 string tipe * @param date2 tipe * @param @return * @return boolean * @throws * / date boolean date -throws date -throws * @trows date -throws * public dateVeREAN {Public DateVeREAN {Public DateVeREAN (Public. sdf = new SimpleDateFormat (pola); coba {date d1 = sdf.parse (date1); Tanggal d2 = sdf.parse (sdf.format (tanggal)); if (d1.getTime ()> = d2.getTime ()) {return true; }} catch (parseException e) {// TODO Auto-Echanerated Catch Block E.PrintStackTrace (); } return false; } /** * Compare the sizes of two dates, year, month and day* @Title: DateStr2CompareValue * @Description: Two string types compare time sizes* @param date1 * @param date2 * @return boolean * @throws */ @SuppressWarnings("unused") public static boolean DateStr2CompareValue(String date1, String date2,String pattern) { SimpleDateFormat sdf = new SimpleDateFormat (pola); coba {date d1 = sdf.parse (date1); Tanggal d2 = sdf.parse (date2); if (d1.getTime ()> = d2.getTime ()) {return true; }} catch (parseException e) {e.printstacktrace (); } return false; } /** * * @Title: get2DateListDate * @date May 17, 2016 at 2:11:48 pm * @Description: Get the date collection of days apart within time* @param @param preDate Start time* @param @param nextDate End time* @param @param format fomat format* @param @return * @return List<Date> Set of days apart* @throws */ public static Daftar <Tate> get2DateListDate (String Predate, String NextDate, String Format) {List <Date> List = New ArrayList <> (); if (nextDate.equals (predate)) {// Jika waktu mulai dan waktu akhir sama, kembalikan langsung ke list.add (dateutil.string2date (predate, format)); daftar pengembalian; } String nexdate = dateutil.getSpecifieddayAfter (predate, format); list.add (dateutil.string2date (predate, 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; } daftar pengembalian; } /** * * @Title: get2DateListDate * @date May 17, 2016 at 2:11:48 pm * @Description: Get the string collection of days apart within time* @param @param preDate Start time* @param @param nextDate End time* @param @param format fomat format* @param @return * @return List<Date> Set of days apart* @throws */ public static Daftar <String> get2dateListDateStr (string predate, string nextDate, string format) {list <pring> list = new ArrayList <> (); if (nextDate.equals (predate)) {// Jika waktu mulai sama dengan waktu akhir, maka itu adalah daftar hari yang sama. daftar pengembalian; } String nexdate = dateutil.getSpecifieddayAfter (predate, format); list.add (predate); list.add (nexdate); while (! nexdate.equals (nextDate)) {string nextNextDate = dateutil.getspecifieddayaFter (nexDate, format); list.add (nextDate); nexDate = nextNextDate; } daftar pengembalian; } / ** * * @title: get2dateListWithDate * @Date 26 Mei 2016 at 9:20:29 AM * @Description: Dapatkan tanggal antara dua tanggal * @param @param startDate Tanggal Tanggal Mulai Tipe * @param @param endDate Tanggal Tanggal * @param @return * @return Daftar <param Date> Datelist get2dateListWithDate (startDate tanggal, tanggal endDate, format string) {list <Date> list = new ArrayList <> (); if (startDate.getTime ()> endDate.getTime ()) {daftar kembali; } String startDateStr = dateutil.date2string (startDate, format); String endDateStr = dateutil.date2string (endDate, format); if (startDateStr.Equals (endDateStr)) {// Jika waktu mulai sama dengan waktu akhir, itu adalah daftar hari yang sama.add (startDate); daftar pengembalian; } Tanggal 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 (nextDateStr, format); list.add (dateutil.string2date (nextDate, format)); nextDateStr = nextNextDate; } daftar pengembalian; } public static void main (string [] args) melempar Exception { / ** / String predate = getSpecifieddayBefore ("2016-05-01", "yyyy-mm-dd"); String nextDate = getSpecifieddayAfter ("2016-05-03", "yyyy-mm-dd"); Tanggal bfroday = getDayBefore (tanggal baru (), "yyyy-mm-dd"); Tanggal detever = getdayAfter (tanggal baru (), "yyyy-mm-dd"); // System.out.println ("Hari Sebelumnya:" + Predate + "Hari Berikutnya:" + NextDate); // system.err.println ("hari sebelumnya:" + date2string (bfroday, "yyyy-mm-dd") + "// Hari berikutnya:" + detever); String mat = "yyyy-mm-dd"; // Yang terbaik adalah membaca SimpleDateFormat dari database datetimeformat = new SimpleDateFormat; Tanggal dd = dateutil.getdayBefore (tanggal baru (), mat); // tanggal bfroday = getDayBefore (tanggal baru (), "yyyy-mm-dd"); String sd = date2string (bfroday, "yyyy-mm-dd"); String datestr = datetimeformat.format (bfroday); // System.out.println ("DateStr ="+DataStr+"SD"+SD); // Daftar <Tate> listDate = get2dateListDate ("2016-05-01", "2016-05-03", "yyyy-mm-dd"); // Daftar <string> listDateStr = get2DateListDateStr ("2016-05-01", "2016-05-03", "yyyy-mm-dd"); Tanggal startDate = tanggal baru (); Tanggal endDate = datetimeformat.parse ("2016-05-31"); Daftar <Tate> listDate = get2dateListWithDate (startDate, endDate, "yyyy-mm-dd"); untuk (int i = 0; i <listDate.size (); i ++) {system.err.println (listDate.get (i)); } /*untuk (int i = 0; i <listDateStr.size (); i ++) {//system.out.println(listDateStr.get(i)); }*/}Di atas adalah semua tentang artikel ini, saya harap akan sangat membantu bagi semua orang untuk belajar pemrograman Java.