Cet article partage la classe d'outils de fonctionnement de la date Java pour vous, obtenant la date spécifiée un jour avant et un jour après la journée; conversion de date; le nombre de jours entre deux dates et autres outils pour votre référence. Le contenu spécifique est le suivant
import java.text.parseException; import java.text.simpledateFormat; import java.util.arraylist; import java.util.calendar; import java.util.date; import java.util.list; Classe publique DateUtil {/ ** * La veille de la date spécifiée est obtenue * * @param spécifiée * @param format * @return * @throws exception * / public static date getdayBefore (date de date, format de chaîne) {calendar c = calendar.getInStance (); C.SetTime (date); int day = c.get (calendar.date); C.Set (calendar.date, jour - 1); String dayBeforSt = new SimpledateFormat (format) .format (c.getTime ()); Date dayefore = null; essayez {dayBefore = new SimpledateFormat (format) .Parse (dayBeForest); } catch (parseException e) {e.printStackTrace (); } retour dayefore; } / ** * Le lendemain de l'obtention de la date spécifiée * * @param spécifiée du jour * @return * / public static Date getDayAfter (date de date, format de chaîne) {calendar c = calendar.getInstance (); C.SetTime (date); int day = c.get (calendar.date); C.Set (calendar.date, jour + 1); String dayAfterstr = new SimpledateFormat (format) .format (c.getTime ()); Date DayAfter = null; essayez {dayafter = new SimpledateFormat (format) .Parse (dayAfterstr); } catch (parseException e) {e.printStackTrace (); } retour dayafter; } / ** * Obtenez la veille de la date spécifiée * * @param spécifiée du jour * @param format * @return * @throws exception * / public static String getSpecifiedDayBefore (String SpecipedDay, Format de chaîne) {// SimpledateFormat SimpledateFormat = new // SimpleDateFormat ("yyyymm-dd"); Calendrier c = calendar.getInstance (); Date de date = null; try {date = new SimpledateFormat ("yy-mm-dd"). parse (spécifié); } catch (parseException e) {e.printStackTrace (); } c.settime (date); int day = c.get (calendar.date); C.Set (calendar.date, jour - 1); String dayefore = new SimpledateFormat ("Yyyy-mm-dd"). Format (c.getTime ()); retour day avant; } / ** * Le lendemain de l'obtention de la date spécifiée * * @param spécifiée * @return * / public static String getSpecifiedDayAfter (chaîne spécifiée, format de chaîne) {Calendar C = calendar.getInSitance (); Date de date = null; try {// date = new SimpledateFormat ("yy-mm-dd"). parse (spécifié); date = new SimpledateFormat (format) .Parse (spécifié); } catch (parseException e) {e.printStackTrace (); } c.settime (date); int day = c.get (calendar.date); C.Set (calendar.date, jour + 1); // String dayafter = new // simpledateFormat ("yyyy-mm-dd"). Format (c.getTime ()); String dayAfter = new SimpledateFormat (format) .format (c.getTime ()); retour dayafter; } / ** * précis le type de date dans une chaîne au format spécifié * * @param day Date * @param format Spécifiez le format * @return * / public static String Date2String (Date Day, String Format) {String Datestr = new SimpledateFormat (format) .format (day.gettime ()); return datestr; } / ** * Convertir la chaîne en un type de date au format spécifié * * @param day date * @param format Spécifiez le 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: DaDate2CompareValue * @Description: Les deux types de dates comparent les tailles * @param dayafter Type * @param Type de date de date * @param Formatting * @return Boolean * @throws * / Public Static Static Datéa2CompleFalueFalue. SimpledateFormat (modèle); essayez {date d1 = sdf.parse (sdf.format (dayafter)); DATE D2 = SDF.Parse (sdf.format (date)); if (d1.gettime ()> = d2.getTime ()) {return true; }} catch (parseException e) {e.printStackTrace (); } return false; } / ** * Comparez les tailles de deux dates, année, mois et jour * @Title: DateCompareValue * @Description: Un type de date stable compare la taille * @param date1 Type de chaîne * @param date2 Type de date * @param @return * SimpledateFormat sdf = new SimpledateFormat (modèle); try {date d1 = sdf.parse (date1); DATE D2 = SDF.Parse (sdf.format (date)); if (d1.gettime ()> = d2.getTime ()) {return true; }} catch (parseException e) {// TODO Générations de capture générée par Auto E.PrintStackTrace (); } return false; } / ** * Comparez les tailles de deux dates, année, mois et jour * @Title: Datestr2CompareValue * @Description: deux types de chaînes Comparez les tailles de temps * @param date1 * @param date2 * @return boolean * @throws * / @suppresswarning SimpledateFormat sdf = new SimpledateFormat (modèle); try {date d1 = sdf.parse (date1); DATE D2 = SDF.Parse (Date2); if (d1.gettime ()> = d2.getTime ()) {return true; }} catch (parseException e) {e.printStackTrace (); } return false; } / ** * * @title: get2DateListDate * @Date 17 mai 2016 à 14:11:48 PM * @Description: Obtenez la collection de jours d'intervalle dans le temps * @param @param prédate de démarrage * @param @param @param Format Format Format * @param @return * @return list lister <Date> Set of Days Format * @throws * STATIC List <Date> Get2DateListDate (String Predo, String NextDate, String Format) {list <Date> list = new ArrayList <> (); if (nextDate.equals (prédate)) {// Si l'heure de début et l'heure de fin sont égales, revenez directement à List.Add (dateUtil.String2Date (Predo, format)); Liste de retour; } String nexdate = dateUtil.getSpecifiedDayAfter (Prévu, format); list.add (dateUtil.string2Date (Premice, 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; } Retour List; } / ** * * @Title: get2DateListDate * @Date 17 mai 2016 à 14:11:48 PM * @Description: Obtenez la collection de chaînes de jours d'intervalle dans le temps * @param @param prédate de démarrage * @param @param @Param Form List <string> get2DateListDatestr (String PreDate, String nextDate, String Format) {list <string> list = new ArrayList <> (); if (nextDate.equals (prédate)) {// Si l'heure de début est égale à l'heure de fin, alors c'est le même jour List.Add (Prévu); Liste de retour; } String nexdate = dateUtil.getSpecifiedDayAfter (Prévu, format); list.add (antérieure); list.add (nexdate); while (! nexdate.equals (nextDate)) {String nextNextDate = dateUtil.getSpecifiedDayAfter (nexDate, format); list.add (nextDate); nexDate = nextNextDate; } Retour List; } / ** * * @title: get2datelistWithDate * @Date 26 mai 2016 à 9:20:29 AM * @Description: Obtenez la date entre deux dates * @param @param startDate Start Date Type * @param @param endDate end Date Date Type get2DateListWithDate (Date startDate, Date 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 (startDatestr.equals (endDatestr)) {// Si l'heure de début est égale à l'heure de fin, c'est le même jour list.add (startDate); Liste de retour; } 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 (! nextDatestr.equals (endDatestr)) {String nextNextDate = dateUtil.getSpecifiedDayAfter (nextDatestr, format); list.add (dateUtil.string2Date (nextDate, format)); NextDatestr = nextNextDate; } Retour List; } public static void main (String [] args) lève une exception {/ ** / string Prete = getSpecifiedDayBefore ("2016-05-01", "yyyy-mm-dd"); String nextDate = getSpecifiedDayAfter ("2016-05-03", "yyyy-mm-dd"); Date beFroday = getDayBefore (new Date (), "Yyyy-mm-dd"); Date datafter = getDayAfter (new Date (), "yyyy-mm-dd"); // System.out.println ("la journée précédente:" + Prévu + "Le jour suivant:" + NextDate); // System.err.println ("la journée précédente:" + date2string (beFroday, "yyyy-mm-dd") + "// le lendemain:" + datafter); String mat = "yyyy-mm-dd"; // il est préférable de lire SimpledateFormat à partir de la base de données datetimeFormat = new SimpledateFormat; Date dd = dateUtil.getDayefore (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 <Date> listDate = get2DateListDate ("2016-05-01", "2016-05-03", "yyyy-mm-dd"); // list <string> listDatestr = get2DateListDatestr ("2016-05-01", "2016-05-03", "yyyy-mm-dd"); Date startDate = new Date (); Date EndDate = DateTimeFormat.Parse ("2016-05-31"); List <Date> 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 <listDatestr.Size (); i ++) {//system.out.println(ListDatestR.get(i)); } * /}Ce qui précède concerne cet article, j'espère qu'il sera utile pour tout le monde d'apprendre la programmation Java.