Este artigo compartilha a classe de ferramenta de operação da Data Java para você, obtendo a data especificada um dia antes e um dia após o dia; Data de conversão; O número de dias entre duas datas e outras ferramentas para sua referência. O conteúdo específico é o seguinte
importar java.text.parseException; importar java.text.simpledateFormat; importar java.util.arraylist; importar java.util.calendar; importar java.util.date; importar java.util.list; classe pública dateUtil { / ** * um dia antes da data especificada ser obtida * * @param especificada dia * @param format * @return * @throws exceção * / public static date getDaybefore (data, formato de string) {calendar c = calendar.getInStance (); C.setTime (data); int dia = c.get (calendário.date); c.set (calendário.date, dia - 1); String DayBeForest = new SimpleDateFormat (formato) .Format (c.getTime ()); Date DayBefore = NULL; tente {DayBefore = new SimpleDateFormat (formato) .Parse (DayBeforest); } catch (parseException e) {e.printStackTrace (); } retornar dia antes; } / ** * O dia após a obtenção da data especificada * * @param especificada dia * @return * / public static date getdayafter (data de data, formato de string) {calendário c = calendar.getInstance (); C.setTime (data); int dia = c.get (calendário.date); c.set (calendário.date, dia + 1); String DayAftertr = new SimpleDateFormat (formato) .Format (c.getTime ()); Date Dayafter = nulo; tente {DayAfter = new SimpleDateFormat (formato) .Parse (DayAftertr); } catch (parseException e) {e.printStackTrace (); } retornar DayAfter; } / ** * Obtenha um dia antes da data especificada * * @param especificada dia * @param format * @return * @throws exceção * / public static string getSPecifiedDayforefore (string especificado no dia, formato string) {// simpledateformat); Calendário c = calendário.getInstance (); Data data = nulo; tente {date = new SimpleDateFormat ("yy-mm-dd"). parse (especificado no dia); } catch (parseException e) {e.printStackTrace (); } C.setTime (data); int dia = c.get (calendário.date); c.set (calendário.date, dia - 1); String DayBefore = new SimpleDateFormat ("AAAYYY-MM-DD"). Formato (c.gettime ()); dia de retorno antes; } / ** * O dia após a obtenção da data especificada * * @param especificada dia * @return * / public static string getSpecifiedDayafter (string especificado Data data = nulo; tente {// date = new SimpleDateFormat ("yy-mm-dd"). parse (especificado no dia); Data = novo SimpleDateFormat (formato) .Parse (especificado no dia); } catch (parseException e) {e.printStackTrace (); } C.setTime (data); int dia = c.get (calendário.date); c.set (calendário.date, dia + 1); // string DayAfter = new // SimpleDateFormat ("AAYYY-MM-DD"). Formato (c.gettime ()); String DayAfter = new SimpleDateFormat (formato) .Format (c.gettime ()); retornar Dayafter; } / ** * Precisa o tipo de data em uma string no formato especificado * * @param Day Data * @param Format Especifique o formato * @return * / public static string date2String (date dia, string format) {string datestr = nen simledEformat (format) .format (Day.gettime ();); retornar datestST; } / ** * Converta a string em um tipo de data no formato especificado * * @param dia data * @param formato Especifique o formato * @return * / public static date string2date (string datestr, string format) {date strdate = null; tente {strdate = new SimpleDateFormat (formato) .Parse (DATEST); } catch (parseException e) {e.printStackTrace (); } retornar strdate; } / **** @title: datetate2CompareValue* @Description: Os dois tipos de data comparam tamanhos* @param Dayafter Data Tipo* @param Data Data Tipo* @param formatting* @return boolean* @THOWS* / public static boolean dateate2CompareVeVealue (Date Dayafter, Padrão, DATA, DATA) SimpledateFormat (padrão); tente {date d1 = sdf.parse (sdf.format (Dayafter)); Data d2 = sdf.parse (sdf.format (data)); if (d1.gettime ()> = d2.gettime ()) {return true; }} catch (parseException e) {e.printStackTrace (); } retornar false; } / ** * Compare os tamanhos de duas datas, ano, mês e dia * @title: DateCompareValue * @Description: Um tipo estável de uma data compara o tamanho * @param date1 string type * @param date2 date 2 datSTerStTattattat) @return * @return boolean * @throws * / public static boolean * sdf = new SimpleDateFormat (padrão); tente {date d1 = sdf.parse (date1); Data d2 = sdf.parse (sdf.format (data)); if (d1.gettime ()> = d2.gettime ()) {return true; }} Catch (parseException e) {// TODO BLOCO DE CAPAGEM AUTOGERATION E.PRINTSTACKTRACE (); } retornar false; } / ** * Compare os tamanhos de duas datas, ano, mês e dia * @title: DATEST2COMPAREVALUE * @Description: Dois tipos de strings comparam tamanhos de tempo * @param date1 * @param date2 * @return boolean * @throws * / @suppressWarnings ("Usused1), public boolean * DatSTr. SimpledateFormat sdf = new SimpleDateFormat (padrão); tente {date d1 = sdf.parse (date1); Data d2 = sdf.parse (date2); if (d1.gettime ()> = d2.gettime ()) {return true; }} catch (parseException e) {e.printStackTrace (); } retornar false; } / **** @title: get2DAtelistdate* @Date 17 de maio de 2016 às 14:11:48* @Description: Obtenha a coleta de dias de intervalo em tempo* @param @param Predate Horário de partida* @param @param @param @param @param nextDate tim the time* @param @Param Format Fomat Format* List <Tee> get2DAtelistDate (String Predate, String NextDate, String Format) {List <Tee> list = new ArrayList <> (); if (nextDate.equals (predate)) {// Se o horário de início e o tempo de término forem iguais, retorne diretamente ao list.add (dateUtil.String2Date (Predate, formato)); lista de retorno; } String nexdate = dateUtil.getSpecifiedDayafter (Predate, formato); list.add (dateUtil.String2Date (Predate, Format)); list.add (dateutil.string2date (nexdate, formato)); while (! nexdate.equals (nextDate)) {string nextNextDate = dateUtil.GetSpeciificadoDayAfter (nexdate, formato); list.add (dateUtil.String2Date (NextDate, formato)); nexdate = nextNextDate; } Lista de retorno; } / **** @title: get2DAtelistdate* @Date 17 de maio de 2016 às 14:11:48* @Description: Obtenha a coleção String de dias de intervalo dentro do tempo* @param @param Predate time de partida* @param @param @param @param @param nextdate tim the hime* @param @param Format Fomat Format* List <String> get2DAtelistDateSTest (String Predate, String NextDate, String Format) {List <String> list = new ArrayList <> (); if (nextDate.equals (predate)) {// Se o horário de início for igual ao horário de término, será o mesmo dia list.Add (Predate); lista de retorno; } String nexdate = dateUtil.getSpecifiedDayafter (Predate, formato); list.Add (Predate); list.add (nexdate); while (! nexdate.equals (nextDate)) {string nextNextDate = dateUtil.GetSpeciificadoDayAfter (nexdate, formato); list.add (NextDate); nexdate = nextNextDate; } Lista de retorno; } / ** * * @title: get2DatelistWithDate * @Date 26 de maio de 2016 às 9:20:29 * @Description: Obtenha a data entre duas datas * @param @param startdate date date * type * @param @param enddate end date get2DatelistWithDate (data startDate, data enddate, formato de string) {list <date> list = new ArrayList <> (); if (startdate.gettime ()> enddate.gettime ()) {list Return; } String startDateSTer = dateUtil.date2String (startDate, formato); String enddateSTest = dateUtil.date2String (enddate, formato); if (startDatest.equals (enddateSTest)) {// Se o horário de início for igual ao horário de término, ele será o mesmo dia list.add (startDate); lista de retorno; } Date nextDate = dateUtil.GetdayAfter (startDate, formato); String nextDateSTest = dateUtil.date2String (NextDate, formato); // string enddateSTest = dateUtil.date2String (enddate, formato); list.add (startDate); list.add (NextDate); while (! NextDateST.Equals (endDateSTest)) {String nextNextDate = dateUtil.GetSpeciFiedDayafter (NextDateSTest, formato); list.add (dateUtil.String2Date (NextDate, formato)); nextDateSTest = nextNextDate; } Lista de retorno; } public static void main (string [] args) lança Exceção { / ** / string predate = getSpecifiedDayforefore ("2016-05-01", "AAAA-MM-DD"); String nextDate = getSpecifiedDayafter ("2016-05-03", "AAAA-MM-DD"); Data befroday = getDaybe antes (new date (), "aaaa-mm-dd"); Data DATAEFTER = GetDayAfter (new Date (), "AAAA-MM-DD"); // System.out.println ("dia anterior:" + Predate + "no dia seguinte:" + NextDate); // System.err.println ("dia anterior:" + date2String (Befroday, "AAAA-MM-DD") + "// no dia seguinte:" + DATAEFTER); String mat = "yyyy-mm-dd"; // é melhor ler o SimpleDateFormat do banco de dados DATETIMEFORMATATE = new SimpleDateLeFormat; Data dd = dateUtil.GetdayBefore (new Date (), MAT); // Data Befroday = getDayBefore (new Date (), "AAAA-MM-DD"); String sd = date2String (Befroday, "AAAA-MM-DD"); String datestr = datetimeformat.format (befroday); // System.out.println ("DataSTer ="+DATEST+"SD"+SD); // list <date> listDate = get2DatelistDate ("2016-05-01", "2016-05-03", "AAAA-MM-DD"); // List <String> listDateSTEst = get2DATELISTDATESTST ("2016-05-01", "2016-05-03", "AAAAA-MM-DD"); Data startDate = new Date (); Data ENDDATE = DATETIMEFORMAT.PARSE ("2016-05-31"); LIST <TATE> listDate = get2DatelistWithDate (StartDate, EndDate, "AAAA-MM-DD"); for (int i = 0; i <listdate.size (); i ++) {System.err.println (listdate.get (i)); am }*/}O exposto acima é tudo sobre este artigo, espero que seja útil para todos aprenderem a programação Java.