บทความนี้แบ่งปันรหัสเฉพาะของคลาส Java Tool DateUtils สำหรับการอ้างอิงของคุณ เนื้อหาเฉพาะมีดังนี้
นำเข้า java.text.parseException; นำเข้า java.text.simpledateFormat; นำเข้า java.util.calendar; นำเข้า java.util.date;/*** คำอธิบาย: คลาสสาธารณะคลาสเครื่องมือ*/ชั้นเรียนสาธารณะ dateutils สตริงคงที่สาธารณะ date_time_format = "yyyy-mm-dd hh: mm: ss"; String String สาธารณะวันที่ _format_chinese = "Yyyyy Year M Month D Day Day"; / ** * รับวันที่ปัจจุบัน * * * @return * */ สตริงคงที่สาธารณะ getCurrentDate () {string datestr = null; SimpledateFormat df = new SimpledateFormat (dateutils.date_format); datestr = df.format (วันที่ใหม่ ()); ส่งคืน Datestr; } / ** * รับวันที่และเวลาปัจจุบัน * * * @return * * / สตริงคงที่สาธารณะ getCurrentDateTime () {String datestr = null; SimpledateFormat df = new SimpledateFormat (dateutils.date_time_format); datestr = df.format (วันที่ใหม่ ()); ส่งคืน Datestr; } / ** * รับวันที่และเวลาปัจจุบัน * * * @return * * / สตริงคงที่สาธารณะ getCurrentDateTime (สตริงวันที่ DateFormat) {string datestr = null; SimpledateFormat DF = ใหม่ SimpleDateFormat (DateFormat); datestr = df.format (วันที่ใหม่ ()); ส่งคืน Datestr; } สตริงคงที่สาธารณะ DatoTodateTime (วันที่วันที่) {string datestr = null; SimpledateFormat df = new SimpledateFormat (dateutils.date_time_format); datestr = df.format (วันที่); ส่งคืน Datestr; } / ** * แปลงสตริงวันที่เป็นวันที่รูปแบบวันที่ * * * @param datestr * @return * * / วันที่สาธารณะคงที่สตริง stringtodate (สตริง datestr) {ถ้า (datestr == null || datestr.equals ("")) {return null; } วันที่วันที่ = วันที่ใหม่ (); SimpledateFormat df = new SimpledateFormat (dateutils.date_format); ลอง {date = df.parse (datestr); } catch (parseexception e) {date = dateutils.stringTodate (Datestr, "yyyymmdd"); } วันที่ส่งคืน; } / ** * แปลงสตริงวันที่เป็นวันที่รูปแบบ * รูปแบบที่กำหนดเอง * * @param datestr * @return * * / วันที่สาธารณะคงที่สตริงสตริง (สตริง datest, สตริงวันที่) {วันที่ = วันที่ใหม่ (); SimpledateFormat DF = ใหม่ SimpleDateFormat (DateFormat); ลอง {date = df.parse (datestr); } catch (parseexception e) {e.printstacktrace (); } วันที่ส่งคืน; } / ** * แปลงรูปแบบวันที่วันที่เป็นรูปแบบสตริง * * * @param วันที่ * @return * * / สตริงคงที่สาธารณะ datetoString (วันที่วันที่) {String datestr = null; SimpledateFormat df = new SimpledateFormat (dateutils.date_format); datestr = df.format (วันที่); ส่งคืน Datestr; } / ** * แปลงรูปแบบวันที่วันที่เป็นรูปแบบสตริงรูปแบบที่กำหนดเอง * * @param วันที่ * @param dateformat * @return * / String String แบบคงที่สาธารณะ datetoString (วันที่วันที่, สตริงวันที่) {string datestr = null; SimpledateFormat DF = ใหม่ SimpleDateFormat (DateFormat); datestr = df.format (วันที่); ส่งคืน Datestr; } / ** * รับค่าวันของวันที่ * * * @param วันที่ * ป้อนวันที่ * @return * * / สาธารณะคงที่ int getdayofdate (วันที่) {int d = 0; ปฏิทิน CD = Calendar.getInstance (); CD.Settime (วันที่); d = cd.get (calendar.day_of_month); กลับ D; } / ** * รับค่าเดือนของวันที่ * * * @param วันที่ * ป้อนวันที่ * @return * * / สาธารณะคงที่ int getMonthofdate (วันที่) {int m = 0; ปฏิทิน CD = Calendar.getInstance (); CD.Settime (วันที่); M = CD.GET (Calendar.Month) + 1; กลับ M; } / ** * รับค่าปีของวันที่ * * * @param วันที่ * ป้อนวันที่ * @return * * / สาธารณะคงที่ int getYeArofdate (วันที่) {int y = 0; ปฏิทิน CD = Calendar.getInstance (); CD.Settime (วันที่); y = cd.get (calendar.year); กลับ y; } / ** * รับวันของสัปดาห์ * * * * @param วันที่ * ป้อนวันที่ * @return * * / สาธารณะคงที่ int getWeekOfDate (วันที่) {int wd = 0; ปฏิทิน CD = Calendar.getInstance (); CD.Settime (วันที่); wd = cd.get (calendar.day_of_week) - 1; กลับ wd; } / ** * รับวันแรกของเดือนของวันที่อินพุต * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * CD.Settime (วันที่); cd.set (calendar.day_of_month, 1); ส่งคืน cd.gettime (); } / ** * รับวันสุดท้ายของเดือนของวันที่อินพุต * * @param วันที่ * / วันที่สาธารณะคงที่ getLaStdayOfmonth (วันที่) {ส่งคืนวันที่ Addday (dateutils.getFirstdayofmonth (dateutils.addmonth (วันที่, 1), -1); } / ** * พิจารณาว่าเป็นปีที่ก้าวกระโดด * * * @param วันที่ * วันที่ป้อน * @return ใช่จริงไม่ใช่เท็จ * * / public Static Boolean isleapyear (วันที่) {Calendar CD = Calendar.getInstance (); CD.Settime (วันที่); int year = cd.get (calendar.year); ถ้า (ปี % 4 == 0 && ปี % 100! = 0 | ปี % 400 == 0) {return true; } else {return false; }} / ** * สร้างรูปแบบประเภทวันที่ตามปีเดือนและวันที่แสดงโดยจำนวนจำนวนเต็ม * * @param ปี * ปี * @param เดือน * เดือน * @param วัน * วัน * @return * / วันที่คงที่ CD.Set (ปี, เดือนที่ 1, วัน); ส่งคืน cd.gettime (); } / ** * รับวันที่ที่สอดคล้องกันของรอบปี * * @param วันที่ * ป้อนวันที่ * @param iyear * จำนวนปีแสดงถึง * @return * * / วันที่คงที่สาธารณะ getYearCycleOfDate (วันที่วันที่ iYear) {ปฏิทิน CD = ปฏิทิน CD.Settime (วันที่); CD.ADD (Calendar.year, iyear); ส่งคืน cd.gettime (); } / ** * รับวันที่ที่สอดคล้องกันของรอบเดือน * * @param วันที่ * ป้อนวันที่ * @param i * @return * * / วันที่สาธารณะคงที่ getMonthCycleOfDate (วันที่วันที่, int i) {Calendar cd = calendar.getInstance (); CD.Settime (วันที่); CD.ADD (Calendar.Month, I); ส่งคืน cd.gettime (); } / ** * คำนวณความแตกต่างระหว่าง Frondate และ Todate * * @param fromdate * @param todate * @ @@Return ปี * * / สาธารณะ int int getYearbyminusdate (วันที่จากวันที่ต่อวัน) {ปฏิทิน df.settime (fromdate); ปฏิทิน dt = calendar.getInstance (); dt.Settime (todate); ส่งคืน dt.get (calendar.year) -df.get (calendar.year); } / ** * คำนวณความแตกต่างระหว่าง FromDate และ Todate * * @param fromdate * @param todate * @ @@Return เดือน * * / สาธารณะ int int getMonthbyminusdate (วันที่จากวันที่ต่อวัน) {ปฏิทิน df.settime (fromdate); ปฏิทิน dt = calendar.getInstance (); dt.Settime (todate); return dt.get (calendar.year)*12+dt.get (calendar.month)- (df.get (calendar.year)*12+df.get (calendar.month)); } / ** * คำนวณจำนวนวันที่แตกต่างระหว่าง fromdate และ todate * * @param fromdate * @param todate * @return days * * / สาธารณะคงที่ long getdaybyminusdate (Object fromdate วันที่ t = dateutils.chgobject (todate); Long fd = f.gettime (); td long = t.gettime (); return (TD-FD)/(24L * 60L * 60L * 1000L); } / ** * คำนวณอายุ * * @param วันเกิด * วันที่ * วันที่ * @param calcdate * จุดวันที่ที่จะคำนวณ * @return * * / การแคลเซียม int คงที่สาธารณะ (วันเกิดวันเกิด, วันที่ calcdate) {int cyear = dateutils.getyearofdate (calcdate); int cmonth = dateutils.getMonthofdate (calcdate); int cday = dateutils.getdayofdate (calcdate); int byear = dateutils.getyearofdate (วันเกิด); int bmonth = dateutils.getMonthofdate (วันเกิด); int bday = dateutils.getdayofdate (วันเกิด); if (cmonth> bmonth || (cmonth == bmonth && cday> bday)) {return cyear-byear; } else {return cyear-1-byear; }} / ** * รับวันเดือนปีเกิดจากบัตรประจำตัวประชาชน * * @param idno * หมายเลขบัตรประจำตัวประชาชน * @return * * / สตริงคงที่สาธารณะ getBirthdayFromidCard (String Idno) {Calendar CD = Calendar.getInstance (); if (idno.length () == 15) {cd.set (calendar.year, integer.valueof ("19" + idno.substring (6, 8)) .intvalue ()); Cd.set (Calendar.month, Integer.ValueOf (Idno.substring (8, 10)) .intvalue () - 1); cd.set (calendar.day_of_month, integer.valueof (idno.substring (10, 12)). intvalue ()); } อื่นถ้า (idno.length () == 18) {cd.set (calendar.year, integer.valueof (idno.substring (6, 10)) .intvalue ()); CD.Set (Calendar.Month, Integer.ValueOf (Idno.substring (10, 12)) .intvalue () - 1); cd.set (calendar.day_of_month, integer.valueof (idno.substring (12, 14)). intvalue ()); } ส่งคืน dateutils.datetoString (cd.getTime ()); } / *** เพิ่ม (+) หรือลบ (-) วันในวันที่อินพุต** @param วันที่* วันที่อินพุต* @param สัญลักษณ์* จำนวนวันที่จะเพิ่มหรือลดลง* / วันที่คงที่สาธารณะ addday (วันที่วันที่, int iDay) {Calendar CD = Calendar.getInstance (); CD.Settime (วันที่); cd.add (calendar.day_of_month, iday); ส่งคืน cd.gettime (); } / *** เพิ่ม (+) หรือลบ (-) เดือน ณ วันที่อินพุต** @param วันที่* ป้อนวันที่* @param ภาพ* คะแนนเดือนเพื่อเพิ่มหรือลดลง* / วันที่คงที่สาธารณะ CD.Settime (วันที่); CD.ADD (Calendar.Month, Image); ส่งคืน cd.gettime (); } / ** * เพิ่ม (+) หรือลบ (-) ปีในวันที่ป้อน * * @param วันที่ * ป้อนวันที่ * @param สัญลักษณ์ * จำนวนปีที่จะเพิ่มหรือลดลง * / วันที่สาธารณะคงที่ addyear (วันที่วันที่ iyear) {ปฏิทิน cd = calendar.getInstance (); CD.Settime (วันที่); CD.ADD (Calendar.year, iyear); ส่งคืน cd.gettime (); } / ** * วันที่ประเภทวัตถุ * @param วันที่ * @return * / วันที่สาธารณะคงที่ chgobject (วันที่วัตถุ) {ถ้า (วันที่! = null && วันที่อินสแตนซ์ของวันที่) {ส่งคืน (วันที่) วันที่; } if (วันที่! = null && วันที่อินสแตนซ์ของสตริง) {return dateutils.stringTodate ((สตริง) วันที่); } return null; } สาธารณะคงที่ long getageByBirthday (วันที่สตริง) {วันเกิด = StringTodate (วันที่, "yyyy-mm-dd"); Long Sec = วันที่ใหม่ (). getTime () - วันเกิด. getTime (); อายุยาว = วินาที/(1,000*60*60*24)/365; อายุกลับ; }/** * @param args */โมฆะคงที่สาธารณะหลัก (สตริง [] args) {// string temp = dateutil.datetoString (getLastdayofmonth (วันที่ใหม่ ()), /// Dateutil.date_format_chinese); // string s = dateutil.datetoString (dateutil.addday (dateutil.addyear (วันที่ใหม่ (), 1),-1)); Long S = Dateutils.getDaybyminusdate ("2012-01-01", "2012-12-31"); System.err.println (s); -ข้างต้นเป็นเนื้อหาทั้งหมดของบทความนี้ ฉันหวังว่ามันจะเป็นประโยชน์ต่อการเรียนรู้ของทุกคนและฉันหวังว่าทุกคนจะสนับสนุน wulin.com มากขึ้น