نسخة الكود كما يلي:
استيراد java.text.parseException ؛
استيراد java.text.simpledateformat ؛
استيراد java.util.calendar ؛
استيراد java.util.date ؛
استيراد java.util.gregoriancalendar ؛
استيراد java.util.timezone ؛
/**
* وظيفة معالجة الوقت
*
* @20080509 15:50
*/
الفئة العامة DateUtil {
Static Static Final String Default_pattern = "Yyyy-MM-DD HH: MM: SS" ؛
Static Final Final Time_year = "Yyyy" ؛
Static Final String Time_monen = "mm" ؛
Static Final String Time_day = "DD" ؛
GetDate Static String Public (فاصل زمني للسلسلة ، وقت بدء التشغيل ، نمط السلسلة) {
تقويم درجة الحرارة = calendar.getInstance (timezone.getDefault ()) ؛
Temp.Settime (وقت البدء) ؛
temp.add (temp.month ، integer.parseint (الفاصل)) ؛
SimplEdateFormat SDF = جديد spileDateFormat (نمط) ؛
إرجاع sdf.format (temp.getTime ()) ؛
}
/**
* تحويل نوع السلسلة إلى نوع الوقت
*
* @يعود
*/
تاريخ الثابت العام str2date (String str) {
تاريخ D = فارغ ؛
SimplEdateFormat sdf = جديد spileDateFormat (default_pattern) ؛
يحاول {
d = sdf.parse (str) ؛
} catch (استثناء e) {
E.PrintStackTrace () ؛
}
العودة د ؛
}
تاريخ الثابت العام str2date (سلسلة Str ، نمط السلسلة) {
تاريخ D = فارغ ؛
SimplEdateFormat SDF = جديد spileDateFormat (نمط) ؛
يحاول {
d = sdf.parse (str) ؛
} catch (استثناء e) {
E.PrintStackTrace () ؛
}
العودة د ؛
}
/**
* تنسيق الوقت
*
* @يعود
*/
تاريخ تاريخ الثابت العام (تاريخ التاريخ) {
SimplEdateFormat sdf = جديد spileDateFormat (default_pattern) ؛
يحاول {
سلسلة dd = sdf.format (التاريخ) ؛
التاريخ = str2date (dd) ؛
} catch (استثناء e) {
E.PrintStackTrace () ؛
}
تاريخ العودة
}
/**
* تنسيق الوقت
*/
تاريخ تاريخ الثابت العام (تاريخ التاريخ ، نمط السلسلة) {
SimplEdateFormat SDF = جديد spileDateFormat (نمط) ؛
يحاول {
سلسلة dd = sdf.format (التاريخ) ؛
التاريخ = str2date (dd ، نمط) ؛
} catch (استثناء e) {
E.PrintStackTrace () ؛
}
تاريخ العودة
}
سلسلة ثابتة عامة Date2Str (تاريخ التاريخ) {
SimplEdateFormat sdf = جديد spileDateFormat (default_pattern) ؛
إرجاع sdf.format (التاريخ) ؛
}
السلسلة الثابتة العامة Date2Str (تاريخ التاريخ ، تنسيق السلسلة) {
SimplEdateFormat SDF = جديد spileDateFormat (تنسيق) ؛
إرجاع sdf.format (التاريخ) ؛
}
/**
* احصل على أمس
*
* Param Date
* @يعود
* throws استثناء
*/
تاريخ الثابت العام getlastdate (تاريخ التاريخ) {
التقويم = Calendar.getInstance (timezone.getDefault ()) ؛
Calendar.Settime (التاريخ) ؛
Calendar.add (Calendar.Date ، -1) ؛
إرجاع str2date (Date2Str (Calendar.getTime ())) ؛
}
/**
* احصل عليه قبل بضعة أيام
* Param Date
* @يعود
*/
تاريخ الثابت العام getBeforedate (تاريخ التاريخ ، التواريخ الباحث) {
التقويم = Calendar.getInstance (timezone.getDefault ()) ؛
Calendar.Settime (التاريخ) ؛
Calendar.add (Calendar.date ، -dates) ؛
إرجاع str2date (Date2Str (Calendar.getTime ())) ؛
}
/**
* احصل على اليوم الأول من الأسبوع الماضي (الاثنين)
*
* Param Date
* @يعود
* throws استثناء
*/
تاريخ ثابت عام getlastweekstart (تاريخ التاريخ) {
التقويم = Calendar.getInstance (timezone.getDefault ()) ؛
Calendar.Settime (التاريخ) ؛
int i = calendar.get (calendar.day_of_week) - 1 ؛
int startNum = 0 ؛
إذا (i == 0) {
startNum = 7 + 6 ؛
} آخر {
startNum = 7 + i - 1 ؛
}
Calendar.add (Calendar.date ، -startnum) ؛
إرجاع str2date (Date2Str (Calendar.getTime ())) ؛
}
/**
* احصل على آخر يوم من الأسبوع الماضي (عطلة نهاية الأسبوع)
*
* Param Date
* @يعود
* throws استثناء
*/
تاريخ ثابت عام getlastweekend (تاريخ التاريخ) {
التقويم = Calendar.getInstance (timezone.getDefault ()) ؛
Calendar.Settime (التاريخ) ؛
int i = calendar.get (calendar.day_of_week) - 1 ؛
int endnum = 0 ؛
إذا (i == 0) {
endnum = 7 ؛
} آخر {
endnum = i ؛
}
Calendar.Add (Calendar.Date ، - (EndNum - 1)) ؛
إرجاع str2date (Date2Str (Calendar.getTime ())) ؛
}
/**
* احصل على أيام على أساس عام وشهر
* param num month
* param سنة
* @يعود
*/
int static int getDay (int num ، int year) {
if (num == 1 || num == 3 || num == 5 || num == 7 || num == 8 || num == 10 || num == 12) {
العودة 31 ؛
} آخر إذا (num == 2) {
// احكم إذا كانت سنة قفزة
إذا (السنة ٪ 400 == 0 || (السنة ٪ 4 == 0 && year ٪ 100! = 0))
العودة 29 ؛
}آخر{
العودة 28 ؛
}
}آخر{
العودة 30 ؛
}
}
/*
* احسب عدد الأيام الموجودة في التاريخ الحالي الشهر المقبل
*/
static int getDaymis (وقت التاريخ) {
int year = integer.parseint (
جديد simpleatformat (time_year) .Format (time)) ؛ // year
int mm = integer.parseint (
جديد SimpleDateFormat (time_monen) .Format (time)) ؛ // month
int dd = integer.parseint (
جديد simpleatformat (time_day) .Format (time)) ؛ // day
// احصل على إجمالي عدد الأيام في العام والشهر الحاليين
int sdd = getDay (mm ، year) ؛
إرجاع SDD-DD ؛
}
/**
* تاريخ الثواني
* param datestring
* @يعود
*/
GetTime Static Static Long (سلسلة البيانات) {
وقت طويل = 0 ؛
يحاول {
تاريخ ret = null ؛
SimpleDateFormat sdf = جديد simpledateFormat ("Yyyy-MM-DD HH: MM: SS") ؛
ret = sdf.parse (dateString) ؛
time = ret.getTime ()/1000 ؛
} catch (استثناء e) {
}
وقت العودة
}
/**
* احسب بدقة الفرق الزمني ، دقيق لليوم
* param fistill تاريخ بدء
* Param Nowtime Date
* نوع param نوع 1 ويعود العام والشهر واليوم (مثل: عامين و 3 أشهر و 5 أيام) خلاف ذلك ، إجمالي عدد الأيام
* @يعود
*/
السلسلة الثابتة العامة patienage (تاريخ قبضة التاريخ ، التاريخ الآن ، نوع عدد صحيح) {
Int Fight = Integer.Parseint (
جديد SimplEdateFormat (time_year) .Format (Fistill)) ؛ // السنة الأولى
int fmm = integer.parseint (
جديد simpleatformat (time_monen) .Format (Fistill)) ؛ // الشهر الأول
int fdd = integer.parseint (
جديد SimpleateFormat (time_day) .Format (Fistill)) ؛ // التاريخ الأول
int nyear = integer.parseint (
جديد SimplEdateFormat (time_year) .Format (Nowtime)) ؛ // end year
int nmm = integer.parseint (
جديد SimplEdateFormat (time_monen) .Format (Nowtime)) ؛ // end month
int ndd = integer.parseint (
جديد SimplEdateFormat (time_day) .Format (Now Time)) ؛ // Date
int cyber = nyear - fyear ؛
int cmmm = nmm - fmm ؛
int cdd = ndd - fdd ؛
int zyear = 0 ؛
int zmm = 0 ؛
int zdd = 0 ؛
int countddd = 0 ؛
إذا (CDD <0) {
if (cm <0) {
Zyear = cyear - 1 ؛
ZMM = (CMM + 12) -1 ؛
int dd = getDay (zmm ، nyear-1) ؛
ZDD = DD + CDD ؛
CountDDD = Zyear*365+ZMM*30+ZDD ؛
} آخر إذا (cmm == 0) {
Zyear = cyear - 1 ؛
ZMM = 12-1 ؛
int dd = getDay (zmm ، nyear-1) ؛
ZDD = DD + CDD ؛
CountDDD = Zyear*365+ZMM*30+ZDD ؛
}آخر{
Zyear = cinear ؛
ZMM = CMMM - 1 ؛
int dd = getDay (zmm ، nyear) ؛
ZDD = DD + CDD ؛
CountDDD = Zyear*365+ZMM*30+ZDD ؛
}
} آخر إذا (cdd == 0) {
if (cm <0) {
Zyear = cyear - 1 ؛
ZMM = CMMM + 12 ؛
ZDD = 0 ؛
countddd = zyear*365+zmm*30 ؛
} آخر إذا (cmm == 0) {
Zyear = cinear ؛
ZMM = 0 ؛
ZDD = 0 ؛
countddd = zyear*365+zmm*30 ؛
}آخر{
Zyear = cinear ؛
ZMM = CMMM ؛
ZDD = 0 ؛
countddd = zyear*365+zmm*30 ؛
}
}آخر{
if (cm <0) {
Zyear = cyear - 1 ؛
ZMM = CMMM + 12 ؛
ZDD = CDD ؛
CountDDD = Zyear*365+ZMM*30+ZDD ؛
} آخر إذا (cmm == 0) {
Zyear = cinear ؛
ZMM = 0 ؛
ZDD = CDD ؛
CountDDD = Zyear*365+ZMM*30+ZDD ؛
}آخر{
Zyear = cinear ؛
ZMM = CMMM ؛
ZDD = CDD ؛
CountDDD = Zyear*365+ZMM*30+ZDD ؛
}
}
سلسلة ptime = null ؛
if (ZDD! = 0) {
if (zmm! = 0) {
if (zyear! = 0) {
pTime = zyear+"year"+zmm+"month"+"Zero"+ZDD+"Day" ؛
}آخر{
pTime = zmm+"month" "+" Zero "+ZDD+" Day "؛
}
}آخر{
if (zyear! = 0) {
ptime = zyear+"year"+"Zero"+ZDD+"Day" ؛
}آخر{
ptime = ZDD+"Day" ؛
}
}
}آخر{
if (zmm! = 0) {
if (zyear! = 0) {
ptime = zyear+"year"+zmm+"month" ؛
}آخر{
ptime = zmm+"شهر" ؛
}
}آخر{
if (zyear! = 0) {
ptime = Zyear+"Year" ؛
}آخر{
ptime = null ؛
}
}
}
if (type == 1) {
عودة PRITY ؛
}آخر{
string.valueof (countddd) ؛
}
}
/**
* احصل على عدد الأشهر
* الفرق العام param
* الفرق الشهر param
* @يعود
*/
static int getCMM (سنة الصدفة ، شهر عدد صحيح) {
int zmm = 0 ؛
إذا (الشهر <0) {
ZMM = (الشهر + 12) + (السنة 1)*12 ؛
} آخر إذا (الشهر == 0) {
ZMM = السنة*12 ؛
}آخر{
ZMM = السنة*12+شهر ؛
}
إرجاع ZMM ؛
}
/**
* تغيير الوقت الحالي
*/
تم تغيير التاريخ الثابت العام (نوع السلسلة ، القيمة int) {
التقويم = Calendar.getInstance (timezone.getDefault ()) ؛
if (type.equals ("month")) {
Calendar.set (Calendar.month ، Calendar.get (Calendar.month) + value) ؛
} آخر إذا (type.equals ("Date")) {
Calendar.set (Calendar.date ، Calendar.get (Calendar.Date) + value) ؛
}
إرجاع calendar.getTime () ؛
}
/**
* تغيير الوقت
*/
تم تغيير تاريخ الثابت العام (تاريخ التاريخ ، نوع السلسلة ، قيمة int) {
إذا (التاريخ! = فارغ) {
// Calendar Calendar = Calendar.getInstance (timezone.getDefault ()) ؛
تقويم التقويم = غريغوريانكالندر جديد () ؛
Calendar.Settime (التاريخ) ؛
// التقويم التقويم = التقويم.
if (type.equals ("month")) {
Calendar.set (Calendar.month ، Calendar.get (Calendar.Month) + value) ؛
} آخر إذا (type.equals ("Date")) {
Calendar.set (Calendar.date ، Calendar.get (Calendar.Date) + value) ؛
} آخر إذا (type.endswith ("year")) {
Calendar.set (Calendar.year ، calendar.get (Calendar.year) + value) ؛
}
إرجاع calendar.getTime () ؛
}
العودة لاغية.
}
/**
* haoxw قارن ما إذا كان الوقت هو بين هاتين النقطتين الزمنية
*
* param time1
* param time2
* @يعود
*/
وقت فحص منطقي ثابت عام (وقت السلسلة 1 ، وقت السلسلة 2) {
التقويم التقويم = calendar.getInstance () ؛
Date Date1 = calendar.getTime () ؛
تاريخ التاريخ 11 = DateUtil.Str2Date (DateUtil.date2str (Date1 ، "Yyyy-MM-DD") + "" + time1) ؛ // وقت البدء
التقويم c = calendar.getInstance () ؛
C.Add (Calendar.Date ، 1) ؛
Date Date2 = C.GetTime () ؛
تاريخ التاريخ 22 = DateUtil.Str2Date (DateUtil.date2str (Date2 ، "Yyyy-MM-DD") + "" + time2) ؛ // وقت الإنهاء
Calendar Scalendar = calendar.getInstance () ؛
Scalendar.Settime (Date11) ؛ // وقت البدء
التقويم elendar = calendar.getInstance () ؛
Elendar.Settime (Date22) ؛ // وقت الإنهاء
Calendar Calendarnow = calendar.getInstance () ؛
if (calendarnow.after (scalendar) && calendarnow.before (equalendar)) {
العودة صحيح.
} آخر {
العودة كاذبة
}
}
/**
* haoxw قارن ما إذا كان الوقت هو بين هاتين النقطتين الزمنية
*
* param date11
* param Date22
* @يعود
*/
وقت فحص منطقي ثابت (تاريخ التاريخ 11 ، التاريخ 22) {
Calendar Scalendar = calendar.getInstance () ؛
Scalendar.Settime (Date11) ؛ // وقت البدء
التقويم elendar = calendar.getInstance () ؛
Elendar.Settime (Date22) ؛ // وقت الإنهاء
Calendar Calendarnow = calendar.getInstance () ؛
if (calendarnow.after (scalendar) && calendarnow.before (equalendar)) {
العودة صحيح.
} آخر {
العودة كاذبة
}
}
CheckDate الثابت الثابت (سلسلة تاريخ السلسلة 1 ، تاريخ السلسلة 2) {
Date11 = DateUtil.Str2Date (Date1 ، "Yyyy-MM-DD HH: MM: SS") ؛ // وقت البدء
تاريخ التاريخ 22 = DateUtil.Str2Date (Date2 ، "Yyyy-MM-DD HH: MM: SS") ؛ // وقت الإنهاء
Calendar Scalendar = calendar.getInstance () ؛
Scalendar.Settime (Date11) ؛ // وقت البدء
التقويم elendar = calendar.getInstance () ؛
Elendar.Settime (Date22) ؛ // وقت الإنهاء
Calendar Calendarnow = calendar.getInstance () ؛
System.out.println (Date11.ToString ()) ؛
System.out.println (Date22.ToString ()) ؛
System.out.println (Scalendar.ToString ()) ؛
System.out.println (Elendar.ToString ()) ؛
System.out.println (Calendarnow.toString ()) ؛
if (calendarnow.after (scalendar) && calendarnow.before (equalendar)) {
العودة صحيح.
} آخر {
العودة كاذبة
}
}
/**
* احصل على التاريخ قبل أيام الفاصل
*
* الفاصل الزمني param
* param startTime
* param نمط
* @يعود
*/
تاريخ الثابت العام getIntervaldate (سلسلة الفاصل الزمني ، وقت البدء التاريخ ، نمط السلسلة) {
تقويم درجة الحرارة = calendar.getInstance () ؛
Temp.Settime (وقت البدء) ؛
temp.add (temp.date ، integer.parseint (الفاصل)) ؛
SimplEdateFormat SDF = جديد spileDateFormat (نمط) ؛
سلسلة shijian = sdf.format (temp.getTime ()) ؛
إرجاع str2date (شيجيان) ؛
}
تنسيق تاريخ الثابت العام (تاريخ التاريخ) {
SimpledAteFormat BartDateFormat =
SimpleDateFormat جديد ("Yyyy-MM-DD") ؛
System.out.println (BartDateFormat.Format (Date)) ؛
SimpledAteFormat BartDateFormat1 = جديد SimplEdateFormat ("Yyyy-MM-DD") ؛
يحاول {
Date Date1 = BartDateFormat1.Parse (BartDateFormat.Format (Date)) ؛
} catch (parseException e) {
E.PrintStackTrace () ؛
}
system.out.println (date.getTime ()) ؛
تاريخ العودة
}
الفراغ الثابت العام الرئيسي (سلسلة arf []) {
/*String Time1 = "2009-05-07 19:20:00" ؛
Time2 = "2009-05-08 19:30:00" ؛
DateUtil d = new DateUtil () ؛
system.out.println (d.checkdate (time1 ، time2)) ؛
System.out.println (D.Date2str (New Date ())) ؛*/
//system.out.println(d.getintervaldate("-3 "، new Date () ، default_pattern)) ؛
التقويم = Calendar.getInstance (timezone.getDefault ()) ؛
System.out.println (Calendar.ToString ()) ؛
System.out.println (DateUtil.Str2Date ("20090731" ، "Yyyymmdd")) ؛
System.out.println (DateUtil.getBeforedate (New Date () ، 2)) ؛
System.out.println (DateUtil.DatePattern (New Date ())) ؛
SimpledAteFormat BartDateFormat =
SimpleDateFormat جديد ("Yyyy-MM-DD") ؛
تاريخ تاريخ = تاريخ جديد () ؛
System.out.println ("Date ؛"+BartDateFormat.Format (Date)) ؛
SimpledAteFormat BartDateFormat1 = جديد SimplEdateFormat ("Yyyy-MM-DD") ؛
يحاول {
Date Date1 = BartDateFormat1.Parse (BartDateFormat.Format (Date)) ؛
System.out.println ("التاريخ:"+Date1) ؛
} catch (parseException e) {
E.PrintStackTrace () ؛
}
}
}