Эта статья разделяет для вас класс инструментов для работы с датой Java, получая указанную дату за день до и через день после дня; конверсия даты; Количество дней между двумя датами и другими инструментами для вашей ссылки. Конкретный контент заключается в следующем
Импорт java.text.parseexception; import java.text.simpledateformat; импорт java.util.arraylist; import java.util.calendar; импорт java.util.date; импорт java.util.list; Общедоступный класс DateUtil { / ** * За день до получения указанной даты * * @param upifiedday * @param format * @return * @Throws Exception * / public Static Date GetDaybefore (дата дата, формат строки) {calendar c = calendar.getinstance (); c.settime (дата); int day = c.get (calendar.date); C.Set (Calendar.Date, Day - 1); String daybeforest = new SimpleDateFormat (format) .format (c.getTime ()); Дата день до = null; try {dayfore = new SimpleDateFormat (format) .parse (daybeforest); } catch (parseexception e) {e.printstacktrace (); } вернуть день до; } / ** * День после получения указанной даты * * @param hipfiedday * @return * / public static date getDayafter (дата даты, формат строки) {календарь c = календарь.getinstance (); c.settime (дата); int day = c.get (calendar.date); C.Set (Calendar.Date, Day + 1); String dayafterstr = new SimpleDateFormat (format) .format (c.getTime ()); Дата Dayafter = null; try {dayafter = new SimpleDateFormat (format) .parse (dayafterstr); } catch (parseexception e) {e.printstacktrace (); } вернуть DayaFter; } / ** * Получите день до указанной даты * * @param destifiedday * @param format * @return * @throws exception * / public static static getSpecifieddaybefore (строка указана, формат строки) {// simpledateformat simpledateformat = new // simpledateformat ("yyyy-mm-dd"); Календарь c = календарь.getinstance (); Дата даты = null; try {date = new SimpleDateFormat ("yy-mm-dd"). Parse (upphifiedDay); } catch (parseexception e) {e.printstacktrace (); } c.settime (date); int day = c.get (calendar.date); C.Set (Calendar.Date, Day - 1); String dayfore = new SimpleDateFormat ("yyyy-mm-dd"). Format (c.gettime ()); вернуть день до; } / ** * День после получения указанной даты * * @param hipfiedday * @return * / public static static getSpecifieddayafter (строка offiedDay, строка формат) {календарь c = calendar.getInstance (); Дата даты = null; try {// date = new SimpleDateFormat ("yy-mm-dd"). parse (upphifyday); date = new SimpleDateFormat (format) .parse (destifiedDay); } catch (parseexception e) {e.printstacktrace (); } c.settime (date); 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 ()); вернуть Dayafter; } / ** * Точная тип даты в строку в указанном формате * * @param Day Day * @param format Укажите формат * @return * / public Static String Date2String (Day Day, Format) {String DatestR = new SimpleDateFormat (format) .format (day.getTime ()); вернуть Datestr; } / ** * Конвертировать строку в тип даты в указанном формате * * @param Day Day * @param format Укажите формат * @return * / public Static Date String2date (String Datestr, String Format) {date strdate = null; try {strdate = new SimpleDateFormat (format) .parse (datestr); } catch (parseexception e) {e.printstacktrace (); } return strdate; } / ***** @title: datedate2comparevalue* @description: два типа дат сравниваются размеры* @param dayafter date type* @param Дата дата типа* @param formatting* @return boolean* @throws* / public boolean datedate2comparevalu SimpleDateFormat (шаблон); try {date d1 = sdf.parse (sdf.format (dayafter)); Дата D2 = sdf.parse (sdf.format (date)); if (d1.gettime ()> = d2.getTime ()) {return true; }} catch (parseexception e) {e.printstacktrace (); } вернуть false; } / ** * Сравните размеры двух дат: год, месяц и день * @title: dateCompareValue * @Description: стабильный тип одной даты сравнивает размер * @param date1 type * @param date2 type * @param @return * @return boolean * @thtrows * / public static boolea SimpleDateFormat SDF = new SimpleDateFormat (Pattern); try {date d1 = sdf.parse (date1); Дата D2 = sdf.parse (sdf.format (date)); if (d1.gettime ()> = d2.getTime ()) {return true; }} catch (parseexception e) {// todo автоматически сгенерированный блок e.printstacktrace (); } вернуть false; } / ** * Сравните размеры двух дат, год, месяц и день * @title: dateStr2comparevalue * @description: два типа строк Сравнение времени * @param date1 * @param date2 * @return boolean * @throws * / @suppresswarning SimpleDateFormat SDF = new SimpleDateFormat (Pattern); try {date d1 = sdf.parse (date1); Дата D2 = sdf.parse (date2); if (d1.gettime ()> = d2.getTime ()) {return true; }} catch (parseexception e) {e.printstacktrace (); } вернуть false; } / ***** @title: get2datelistdate* @date 17 мая 2016 г. в 14:11:48* @description: Получите коллекцию даты, помимо времени,* @param @param Предшественник начала* @param @param List <Tay> get2DateListDate (String Predate, String NextDate, String Format) {List <Date> list = new ArrayList <> (); if (nextDate.equals (predate)) {// Если время начала и время окончания равны, вернитесь непосредственно в list.add (dateutil.string2date (предискание, формат)); вернуть список; } String nexdate = dateUtil.getSpecifiedDayafter (предискание, формат); 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; } return List; } /** * * @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 List <string> get2dateListDatestr (String Предупреждение, String NextDate, String Format) {List <string> list = new ArrayList <> (); if (nextDate.equals (предискание)) {// Если время начала равна временю окончания, то это тот же день. вернуть список; } String nexdate = dateUtil.getSpecifiedDayafter (предискание, формат); list.add (предискание); list.add (nexdate); while (! nexdate.equals (NextDate)) {string nextNextDate = dateUtil.getSpecifiedDayafter (nexdate, format); list.add (NextDate); nexdate = nextNextDate; } return List; } / ** * * * @title: get2datelistwithdate * @date 26 мая 2016 года в 9:20:29 AM * @description: Получить дату между двумя датами * @param @param startdate Дата даты даты * @param @param enddate дата даты даты get2dateListWithDate (дата стартового запуска, дата 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 (startDatestest.equals (enddatestr)) {// Если время начала равна временю окончания, это в тот же день. вернуть список; } 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 (! nextdatestest.equals (enddatestr)) {string nextnextDate = dateUtil.getSpecifiedDayafter (nextDatestr, формат); list.add (dateutil.string2date (NextDate, Format)); NextDateStr = NextNextDate; } return List; } public static void main (string [] args) бросает исключение { / ** / string predate = getSpecifiedDefore ("2016-05-01", "yyyy-mm-dd"); String letterdate = getSpecifiedDayafter ("2016-05-03", "yyyy-mm-dd"); Date befroday = getDaybefore (new Date (), "yyyy-mm-dd"); Date DateFter = getDayaFter (new Date (), "yyyy-mm-dd"); // System.out.println («Предыдущий день:» + предискание + «На следующий день:» + nextdate); // System.err.println («Предыдущий день:» + date2string (befroday, "yyyy-mm-dd") + "// на следующий день:" + dateeater); String mat = "yyyy-mm-dd"; // Лучше всего читать SimpleDateFormat из базы данных DateTimeFormat = new SimpleDateFormat; Date dd = dateutil.getdaybefore (new Date (), mat); // date befroday = getDaybefore (new Date (), "yyyy-mm-dd"); String sd = date2string (befroday, "yyyy-mm-dd"); String DateStr = DateTimeFormat.format (beFroday); // system.out.println ("datestr ="+datestr+"sd"+sd); // list <Tay> listDate = get2DateListDate ("2016-05-01", "2016-05-03", "yyyy-mm-dd"); // list <string> listDatestr = get2dateListDatestr ("2016-05-01", "2016-05-03", "yyyy-mm-dd"); Дата startDate = new Date (); Date enddate = datetimeformat.parse ("2016-05-31"); List <Tay> listDate = get2DateListWithDate (StartDate, EndDate, "yyyy-mm-dd"); for (int i = 0; i <listDate.size (); i ++) {System.err.println (listDate.get (i)); } /*for (int i = 0; i <listdatestestest.size (); i ++) {//system.out.println(listdatestest.get(i)); }*/}Выше приведено все об этой статье, я надеюсь, что для всех будет полезно изучать программирование Java.