この記事では、Java Date Operation Toolクラスを共有し、1日前と1日後に指定された日付を取得します。日付変換; 2つの日付と参照用の他のツールの間の日数。特定のコンテンツは次のとおりです
java.text.parseexception; Import java.text.simpledateformat; Import java.util.arraylist; Import java.util.calendar; import java.util.date; import java.util.list; public class dateutil { / ** *指定された日付の前日 * * @param speciedday * @param format * @return * / public static date getdaybefefore(date、string format){calendar c = calendar.getinstance(); c.settime(日付); int day = c.get(calendar.date); c.set(calendar.date、day -1); string daybeforestr = new simpledateFormat(format).format(c.getTime());日付daybefore = null; {daybefore = new SimpledateFormat(format).Parse(daybeforestr); } catch(parseexception e){e.printstacktrace(); } daybefefore; } / ** *指定された日付を取得した翌日 * * @param speciedday * @return * / public static date getDayter(日付、文字列形式){calendar c = calendar.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 speciedday * @return * @return * / public static string getspecifieddaybefore(spring sigtifiedday、string format){// simpledateformat simpledateformat = new // simpledateformat( "yyymm-dd");カレンダーc = charend.getInstance();日付date = null; try {date = new simpledateFormat( "yy-mm-dd")。parse(speciedday); } catch(parseexception e){e.printstacktrace(); } c.settime(date); int day = c.get(calendar.date); c.set(calendar.date、day -1); string daybefore = new simpledateFormat( "yyyy-mm-dd")。format(c.gettime());前に戻ります; } / ** *指定された日付を取得した翌日 * * @param speciedday * @return * / public static string getspecifieddayafter(string sigtifiedday、string format){calendar c = calendar.getinstance();日付date = null; try {// date = new SimpledateFormat( "yy-mm-dd")。 date = new simpledateFormat(format).parse(speciedday); } 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()); dayfterを返します。 } / ** *指定された形式の文字列に日付タイプを正確にしますDateStrを返します。 } / ** *指定された形式で文字列を日付タイプに変換 * * @param Day Date * @param Format Format * @return * / public static 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:2つの日付タイプはサイズを比較します* @param dayafter date type* @param formatting* @return boolean* @throws* / public static boolean datedate2comparevalue(dayafter、date、sinter pattern) 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を返します。 } / ** * 2つの日付、年、月、日のサイズを比較 * @title:datecomparevalue * @description:安定した1つの日付タイプはサイズを比較します * @param string1typ * @param date2 Type * @param @return * @return boolean * @throws * @return * @throws * / public boolean Datestecomatecemavalue(Stringformed1) sdf = new SimpledateFormat(パターン); try {date d1 = sdf.parse(date1);日付d2 = sdf.parse(sdf.format(date)); if(d1.getTime()> = d2.getTime()){return true; }} catch(parseexception e){// dodo auto-enerated catch block e.printstacktrace(); } falseを返します。 } / ** * 2つの日付、年、月、日のサイズを比較 * @title:datestr2comparevalue * @description:2つの文字列タイプはタイムサイズを比較します * @param date1 * @param date2 * @return boolean * @trows * / @suppresswarnings( "unused")public boolean detestr2comperavalue pattern( " SimpleDateFormat sdf = new SimpledateFormat(パターン); 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 2016年5月17日午後2時11:48 pm* @description:@description:@param @param @param precim @param @param nextdate end time* @param @param format fomat* @return sited days days* @taram List <date> 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(以前、形式)); list.add(dateutil.string2date(nexdate、format)); while(!nexdate.equals(nextdate)){string nextnextdate = dateutil.getSpecifiedDayafter(nexdate、format); list.add(dateutil.string2date(nextdate、format)); nexdate = nextnextdate; }返品リスト。 } / **** @title:get2dateListdate* @date 2016年5月17日午後2時11:48 pm* @description:@description:@param @param @param precim @param @param @param nextdate end time* @param @param format fomat* @param @turn set days days* List <String> get2DateListDatestr(String Predate、String NextDate、String Format){list <string> list = new ArrayList <>(); if(nextdate.equals(predate)){//開始時間が終了時間に等しい場合、それは同じ日list.add(前)です。返品リスト。 } string nexdate = dateutil.getSpecifiedDayafter(以前、形式); list.add(以前); list.add(nexdate); while(!nexdate.equals(nextdate)){string nextnextdate = dateutil.getSpecifiedDayafter(nexdate、format); list.add(nextdate); nexdate = nextnextdate; }返品リスト。 } / ** * * @title:get2DateListWithDate * @Date 2016年5月26日午前9時20:29 AM * @description:2つの日付の間の日付 * @param @param @param @param @param @param enddate enddate enddate date type * @param @return * @returnリスト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)){//開始時間が終了時間に等しい場合、それは同じ日list.add(startdate)です。返品リスト。 } 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; }返品リスト。 } public static void main(string [] args)throws exception { / ** / string predate = getspecifieddaybefore( "2016-05-01"、 "yyyy-mm-dd"); string nextdate = getspecifieddayafter( "2016-05-03"、 "yyyy-mm-dd");日付befroday = getDayBefore(new date()、 "yyyy-mm-dd");日付dateafter = getDayafter(new date()、 "yyyy-mm-dd"); // system.out.println( "前日:" + predate + "翌日:" + nextdate); // system.err.println( "前日:" + date2string(befroday、 "yyyy-mm-dd") + "//翌日:" + datefafter); string mat = "yyyy-mm-dd"; //データベースDateTimeFormat = new SimpledateFormatからSimpleDateFormatを読み取るのが最善です。日付dd = dateutil.getdaybebefore(new date()、mat); //日付befroday = getDayBefore(new date()、 "yyyy-mm-dd"); string sd = date2string(befroday、 "yyyy-mm-dd");文字列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();日付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)); }*/}上記はこの記事に関するものです。誰もがJavaプログラミングを学ぶことが役立つことを願っています。