تشارك هذه المقالة رمز فئة أدوات Java المحدد DateUtils للرجوع إليه. المحتوى المحدد كما يلي
استيراد java.text.parseException ؛ استيراد java.text.simpleDateFormat ؛ استيراد java.util.calendar ؛ استيراد java.util.date ؛/*** الوصف: فئة أدوات التاريخ العامة*/الفئة العامة dateutils {public static string date_format = "yyyy-mm-dd" ؛ سلسلة ثابتة عامة Date_time_format = "Yyyy-MM-DD HH: MM: SS" ؛ السلسلة الثابتة العامة Date_format_Chinese = "Yyyyy Year M Month D Day" ؛ / ** * احصل على التاريخ الحالي * * * return * */ السلسلة الثابتة العامة getCurrentDate () {String dateStr = null ؛ SimpleDateFormat df = new SimplEdateFormat (DateUtils.date_format) ؛ datestr = df.format (new date ()) ؛ إرجاع البيانات } / ** * احصل على التاريخ والوقت الحاليين * * * @RETURN * * / السلسلة الثابتة العامة getCurrentDateTime () {String dateStr = null ؛ SimpleDateFormat df = new SimplEdateFormat (DateUtils.date_time_format) ؛ datestr = df.format (new date ()) ؛ إرجاع البيانات } / ** * احصل على التاريخ والوقت الحاليين * * * return * * / السلسلة الثابتة العامة getCurrentDateTime (سلسلة DateFormat) {String datestr = null ؛ SimplEdateFormat df = new SimplEdateFormat (DateFormat) ؛ datestr = df.format (new date ()) ؛ إرجاع البيانات } السلسلة الثابتة العامة datetodateTime (تاريخ التاريخ) {string datestr = null ؛ SimpleDateFormat df = new SimplEdateFormat (DateUtils.date_time_format) ؛ datestr = df.format (date) ؛ إرجاع البيانات } / ** * تحويل تاريخ السلسلة حتى الآن تنسيق * * * param datestr * regurn * * / public static date stringtodate (string datept) {if (datestr == null || datestr.equals ("")) {return null ؛ تاريخ التاريخ = تاريخ جديد () ؛ SimpleDateFormat df = new SimplEdateFormat (DateUtils.date_format) ؛ حاول {date = df.parse (dateSt) ؛ } catch (parseException e) {date = dateUtils.StringTodate (datest ، "yyyymmdd") ؛ } تاريخ العودة ؛ } / ** * تحويل تاريخ السلسلة حتى الآن تنسيق * تنسيق مخصص * * param datestr * regurn * * / public static date stringTodate (سلسلة datest ، سلسلة dateformat) {date date = new date () ؛ SimplEdateFormat df = new SimplEdateFormat (DateFormat) ؛ حاول {date = df.parse (dateSt) ؛ } catch (parseException e) {E.PrintStackTrace () ؛ } تاريخ العودة ؛ } / ** * تحويل تاريخ تنسيق التاريخ إلى تنسيق السلسلة * * * param التاريخ * return * * / السلسلة الثابتة العامة dateToString (تاريخ تاريخ) {String datestr = null ؛ SimpleDateFormat df = new SimplEdateFormat (DateUtils.date_format) ؛ datestr = df.format (date) ؛ إرجاع البيانات } / ** * تحويل تاريخ تنسيق تاريخ التحويل إلى تنسيق سلسلة مخصص * * param تاريخ * param dateFormat * @RETURN * / public Static String DateToString (تاريخ تاريخ ، سلسلة DateFormat) {String dateStr = null ؛ SimplEdateFormat df = new SimplEdateFormat (DateFormat) ؛ datestr = df.format (date) ؛ إرجاع البيانات } / ** * احصل على القيمة النهارية للتاريخ * * * param تاريخ * أدخل التاريخ * @RETURN * * / public static int getDayOfDate (تاريخ التاريخ) {int d = 0 ؛ CALENDAR CD = CALENDAR.GETINSTANCE () ؛ CD.SETTIME (التاريخ) ؛ d = cd.get (calendar.day_of_month) ؛ العودة د ؛ } / ** * احصل على قيمة الشهر للتاريخ * * * param تاريخ * أدخل التاريخ * return * * / public static int getMonthofDate (تاريخ التاريخ) {int m = 0 ؛ CALENDAR CD = CALENDAR.GETINSTANCE () ؛ CD.SETTIME (التاريخ) ؛ m = cd.get (calendar.month) + 1 ؛ العودة م ؛ } / ** * احصل على قيمة السنة للتاريخ * * * param التاريخ * CALENDAR CD = CALENDAR.GETINSTANCE () ؛ CD.SETTIME (التاريخ) ؛ y = cd.get (calendar.year) ؛ إرجاع y ؛ } / ** * احصل على يوم الأسبوع * * * param التاريخ * أدخل التاريخ * regurn * * / public static intwekofdate (تاريخ التاريخ) {int wd = 0 ؛ CALENDAR CD = CALENDAR.GETINSTANCE () ؛ CD.SETTIME (التاريخ) ؛ wd = cd.get (calendar.day_of_week) - 1 ؛ إرجاع WD ؛ } / ** * احصل على اليوم الأول من شهر تاريخ الإدخال * * * param التاريخ * تاريخ الإدخال * return * * / تاريخ الثابت العام getFirstDayOfMonth (تاريخ التاريخ) {calendar cd = calendar.getInstance () ؛ CD.SETTIME (التاريخ) ؛ cd.set (calendar.day_of_month ، 1) ؛ إرجاع cd.getTime () ؛ } / ** * احصل على آخر يوم من شهر الإدخال * * Param Date * / Date static Date getlastdayofmonth (تاريخ التاريخ) {return dateUtils.addday (dateUtils.getFirstDayOfMonth (dateUtils.addmonth (Date ، 1) ، -1) ؛ } / ** * حدد ما إذا كانت سنة قفزة * * * param تاريخ * إدخال * regurn نعم صحيح لا خطأ * * / عام ثابت منطقي Isleapyear (تاريخ التاريخ) {calendar cd = calendar.getInstance () ؛ CD.SETTIME (التاريخ) ؛ int year = cd.get (calendar.year) ؛ if (Year ٪ 4 == 0 && year ٪ 100! = 0 | year ٪ 400 == 0) {return true ؛ } آخر {return false ؛ }} / ** * إنشاء تنسيق نوع التاريخ على أساس السنة والشهر واليوم يمثله رقم عدد صحيح * * param السنة * السنة * param الشهر * الشهر * param day * day * return * * / public static date getDatebyymd (int year ، int day) {calendar cd = calendar.getinstance () ؛ CD.Set (السنة ، الشهر 1 ، اليوم) ؛ إرجاع cd.getTime () ؛ } / ** * احصل على التاريخ المقابل من دورة السنة * * param التاريخ * أدخل التاريخ * param iyear * يمثل عدد السنوات السابقة * @return * / public static date getyearcycleofdate (تاريخ التاريخ ، int iyear) {calendar cd = calendar.getInstance () ؛ CD.SETTIME (التاريخ) ؛ CD.Add (Calendar.year ، iyear) ؛ إرجاع cd.getTime () ؛ } / ** * احصل على التاريخ المقابل لدورة الشهر * * param التاريخ * أدخل التاريخ * param i * return * * / date static date getMonthCycleOfDate (تاريخ التاريخ ، int i) {calendar cd = calendar.getinstance () ؛ CD.SETTIME (التاريخ) ؛ CD.Add (Calendar.month ، i) ؛ إرجاع cd.getTime () ؛ } / ** * احسب عدد السنوات الفرق بين من FromDate و Toodate * * param fromdate * param todate * @regurn years * * / public int int getyearbyminusdate (date fromdate ، date todate) {calendar df = calendar.getInstance () ؛ df.settime (FromDate) ؛ التقويم dt = calendar.getInstance () ؛ Dt.Settime (Toodate) ؛ return dt.get (calendar.year) -df.get (calendar.year) ؛ } / ** * حساب عدد الأشهر التي الفرق بين من FROMDATE و TODATE * * param fromdate * param toDate * @RETURN أشهر * / / public static int getmonthbyminusdate (date fromdate ، date todate) {calendar df = calendar.getInstance () ؛ df.settime (FromDate) ؛ التقويم dt = calendar.getInstance () ؛ Dt.Settime (Toodate) ؛ return dt.get (calendar.year)*12+dt.get (calendar.month)- (df.get (calendar.year)*12+df.get (calendar.month)) ؛ } / ** * احسب عدد الأيام التي يكون فيها الفرق بين من FromDate و Toodate * * param fromdate * param toDate * @Return Days * * / public static long getDayByMinusDate (كائن من date ، todate) {date f = dateutils.chgobject (fromdate) ؛ تاريخ t = dateUtils.ChgObject (TODATE) ؛ long fd = f.getTime () ؛ طويل TD = t.getTime () ؛ إرجاع (TD-FD)/(24L * 60L * 60L * 1000L) ؛ } / ** * حساب العمر * * param عيد ميلاد * تاريخ التاريخ * param calcedate * نقطة تاريخ أن يتم حسابها * @REGRURN * * / public static int calcage (تاريخ عيد ميلاد ، تاريخ حساب) {int cyear = dateUtils.getyearofDate (calcdate) ؛ int cmonth = dateUtils.getMonthofDate (concdate) ؛ 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-boyear ؛ } آخر {return cyear-1-boyear ؛ }} / ** * احصل على تاريخ الميلاد من بطاقة الهوية * * param idno * رقم بطاقة المعرف * @RETURN * * / سلسلة ثابتة getBirthdayFromidCard (سلسلة 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 ()) ؛ } return dateUtils.datetoString (cd.getTime ()) ؛ } / *** زيادة (+) أو طرح (-) في تاريخ الإدخال** param تاريخ* تاريخ الإدخال* param emblem* عدد الأيام لزيادة أو انخفاض* / يوم إضافة تاريخ ثابت (تاريخ التاريخ ، int iday) {calendar cd = calendar.getInstance () ؛ CD.SETTIME (التاريخ) ؛ cd.add (calendar.day_of_month ، iday) ؛ إرجاع cd.getTime () ؛ } / *** إضافة (+) أو طرح (-) شهور في تاريخ الإدخال** param تاريخ* أدخل تاريخ* param صورة* الشهر لزيادة أو تقليل* / تاريخ الثابت العام (تاريخ التاريخ ، صورة int) {calendar cd = calendar.getInstance () ؛ CD.SETTIME (التاريخ) ؛ CD.Add (Calendar.month ، Image) ؛ إرجاع cd.getTime () ؛ } / ** * إضافة (+) أو طرح (-) سنوات في تاريخ الإدخال * * param التاريخ * أدخل التاريخ * param relemblem * عدد السنوات لزيادة أو تقليل * / تاريخ الثابتة العامة (تاريخ التاريخ ، int iyear) {calendar cd = calendar.getinstance () ؛ CD.SETTIME (التاريخ) ؛ CD.Add (Calendar.year ، iyear) ؛ إرجاع cd.getTime () ؛ } / ** * تاريخ نوع الكائن * param تاريخ * return * / تاريخ الثابت العام chgobject (تاريخ الكائن) {if (date! = null && date eastyof date) {return (date) date ؛ } if (date! = null && date eastyof string) {return dateUtils.StringTodate ((string) date) ؛ } إرجاع فارغ ؛ } static static long getAgebiBirthday (تاريخ السلسلة) {date birthday = stringTodate (Date ، "Yyyy-MM-DD") ؛ Sec Long = New Date (). GetTime () - Birthday.getTime () ؛ العمر طويل = ثانية/(1000*60*60*24)/365 ؛ عودة العمر ؛ }/** * param args */public static void main (string [] args) {// string temp = dateutil.datetoString (getLastdayOfMonth (date date ()) ، /// dateutil.date_format_chinese) ؛ // string s = dateutil.datetoString (dateUtil.addday (dateUtil.addyear (New Date () ، 1) ،-1)) ؛ long s = dateUtils.getDayByMinusDate ("2012-01-01" ، "2012-12-31") ؛ System.err.println (s) ؛ }}ما سبق هو كل محتوى هذه المقالة. آمل أن يكون ذلك مفيدًا لتعلم الجميع وآمل أن يدعم الجميع wulin.com أكثر.