การคัดลอกรหัสมีดังนี้:
นำเข้า java.text.parseException;
นำเข้า java.text.simpledateFormat;
นำเข้า Java.util.Calendar;
นำเข้า java.util.date;
นำเข้า Java.util.Gregoriancalendar;
นำเข้า java.util.timezone;
-
* ฟังก์ชั่นการประมวลผลเวลา
-
* @20080509 15:50
-
DateUtil ชั้นเรียนสาธารณะ {
สตริงสุดท้ายคงที่ส่วนตัว default_pattern = "yyyy-mm-dd hh: mm: ss";
สตริงสุดท้ายคงที่ time_year = "yyyy";
สตริงสุดท้ายคงที่ public String time_monen = "MM";
สตริงสุดท้ายคงที่ time_day = "dd";
String String สาธารณะ getDate (ช่วงเวลาสตริง, วันที่เริ่มต้นเวลา, รูปแบบสตริง) {
Calendar Temp = Calendar.getInstance (Timezone.getDefault ());
Temp.Settime (เริ่มต้น);
Temp.add (Temp.Month, Integer.ParseInt (Interval));
SimpledateFormat SDF = ใหม่ SimpleDateFormat (รูปแบบ);
ส่งคืน sdf.format (temp.gettime ());
-
-
* แปลงประเภทสตริงเป็นประเภทเวลา
-
* @กลับ
-
วันที่สาธารณะคงที่ str2date (String str) {
วันที่ d = null;
SimpledateFormat SDF = ใหม่ SimpleDateFormat (default_pattern);
พยายาม {
d = sdf.parse (str);
} catch (Exception e) {
E.PrintStackTrace ();
-
กลับ D;
-
วันที่สาธารณะคงที่ str2date (สตริง str, รูปแบบสตริง) {
วันที่ d = null;
SimpledateFormat SDF = New SimpledateFormat (รูปแบบ);
พยายาม {
d = sdf.parse (str);
} catch (Exception e) {
E.PrintStackTrace ();
-
กลับ D;
-
-
* จัดรูปแบบเวลา
-
* @กลับ
-
วันที่สาธารณะวันที่ Datepattern (วันที่) {
SimpledateFormat SDF = ใหม่ SimpleDateFormat (default_pattern);
พยายาม {
สตริง dd = sdf.format (วันที่);
วันที่ = str2date (dd);
} catch (Exception e) {
E.PrintStackTrace ();
-
วันที่ส่งคืน;
-
-
* จัดรูปแบบเวลา
-
วันที่สาธารณะคงที่วันที่ (วันที่วันที่รูปแบบสตริง) {
SimpledateFormat SDF = New SimpledateFormat (รูปแบบ);
พยายาม {
สตริง dd = sdf.format (วันที่);
วันที่ = str2date (dd, รูปแบบ);
} catch (Exception e) {
E.PrintStackTrace ();
-
วันที่ส่งคืน;
-
สตริงคงที่สาธารณะวันที่ 2STR (วันที่วันที่) {
SimpledateFormat SDF = ใหม่ SimpleDateFormat (default_pattern);
ส่งคืน sdf.format (วันที่);
-
สตริงคงที่สาธารณะวันที่ 2Str (วันที่วันที่รูปแบบสตริง) {
SimpledateFormat SDF = ใหม่ SimpleDateFormat (รูปแบบ);
ส่งคืน sdf.format (วันที่);
-
-
* รับเมื่อวานนี้
-
* @param วันที่
* @กลับ
* @throws ยกเว้น
-
วันที่คงที่สาธารณะ getLaStdate (วันที่) {
ปฏิทินปฏิทิน = Calendar.getInstance (Timezone.getDefault ());
Calendar.Settime (วันที่);
Calendar.add (Calendar.date, -1);
return str2date (date2str (calendar.getTime ()));
-
-
* รับเมื่อไม่กี่วันที่ผ่านมา
* @param วันที่
* @กลับ
-
วันที่สาธารณะคงที่ getBeforEdate (วันที่วันที่วันที่) {
ปฏิทินปฏิทิน = Calendar.getInstance (Timezone.getDefault ());
Calendar.Settime (วันที่);
Calendar.add (Calendar.date, -date);
return str2date (date2str (calendar.getTime ()));
-
-
* รับวันแรกของสัปดาห์ที่แล้ว (วันจันทร์)
-
* @param วันที่
* @กลับ
* @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);
return str2date (date2str (calendar.getTime ()));
-
-
* รับวันสุดท้ายของสัปดาห์ที่แล้ว (วันหยุดสุดสัปดาห์)
-
* @param วันที่
* @กลับ
* @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));
return str2date (date2str (calendar.getTime ()));
-
-
* รับวันตามปีและเดือน
* @param num เดือน
* @param ปี
* @กลับ
-
สาธารณะคงที่ int getday (int num, int ปี) {
if (num == 1 || num == 3 || num == 5 || num == 7 || num == 8 || num == 10 || num == 12) {
กลับ 31;
} อื่นถ้า (num == 2) {
// ตัดสินว่าเป็นปีก้าวกระโดด
ถ้า (ปี%400 == 0 || (ปี%4 == 0 && ปี%100! = 0)) {
กลับ 29;
}อื่น{
กลับ 28;
-
}อื่น{
กลับ 30;
-
-
-
* คำนวณจำนวนวันที่ปัจจุบันในเดือนหน้ามีกี่วัน
-
สาธารณะคงที่ int getDayMis (เวลาวันที่) {
int year = integer.parseint (
ใหม่ SimpleDateFormat (time_year) .Format (เวลา)); // ปี
int mm = integer.parseint (
ใหม่ SimpleDateFormat (time_monen) .Format (เวลา)); // เดือน
int dd = integer.parseint (
ใหม่ SimpleDateFormat (time_day) .Format (เวลา)); // วัน
// รับจำนวนวันทั้งหมดในปีและเดือนปัจจุบัน
int sdd = getday (มม., ปี);
ส่งคืน SDD-DD;
-
-
* จำนวนวันที่วินาที
* @param datestring
* @กลับ
-
Public Static Long Long GetTime (String Datestring) {
นาน = 0;
พยายาม {
วันที่ ret = null;
SimpledateFormat SDF = New SimpledateFormat ("YYYY-MM-DD HH: MM: SS");
ret = sdf.parse (datestring);
time = ret.getTime ()/1000;
} catch (Exception e) {
-
เวลากลับ;
-
-
* คำนวณความแตกต่างของเวลาอย่างแม่นยำแม่นยำในวันนี้
* @Param Fistill เริ่มต้นวันที่
* @Param วันที่สิ้นสุด
* ประเภทประเภท @param คือ 1 และส่งคืนปีเดือนและวัน (เช่น: 2 ปี, 3 เดือนและ 5 วัน) มิฉะนั้นส่งคืนจำนวนวันทั้งหมด
* @กลับ
-
Patienage String String สาธารณะ (วันที่ Fistill, วันที่ปัจจุบัน, ประเภทจำนวนเต็ม) {
int fight = integer.parseint (
ใหม่ SimpleDateFormat (time_year) .Format (Fistill)); // ปีแรก
int fmm = integer.parseint (
ใหม่ SimpleDateFormat (time_monen) .Format (Fistill)); // เดือนแรก
int fdd = integer.parseint (
ใหม่ SimpleDateFormat (time_day) .Format (Fistill)); // วันที่แรก
int nyear = integer.parseint (
ใหม่ SimpleDateFormat (time_year) .Format (ตอนนี้)); // ปีสุดท้าย
int nmm = integer.parseint (
ใหม่ SimpleDateFormat (time_monen) .Format (ตอนนี้)); // เดือนสุดท้าย
int ndd = integer.parseint (
ใหม่ SimpleDateFormat (time_day) .Format (ตอนนี้)); // วันที่สิ้นสุด
int cyber = nyear - fyear;
int cmmm = nmm - fmm;
int cdd = ndd - fdd;
int zyear = 0;
int zmm = 0;
int zdd = 0;
int countddd = 0;
if (cdd <0) {
ถ้า (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) {
ถ้า (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;
-
}อื่น{
ถ้า (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;
ถ้า (zdd! = 0) {
ถ้า (zmm! = 0) {
ถ้า (zyear! = 0) {
ptime = zyear+"ปี"+zmm+"เดือน"+"zero"+zdd+"วัน";
}อื่น{
ptime = zmm+"เดือน"+"zero"+zdd+"วัน";
-
}อื่น{
ถ้า (zyear! = 0) {
ptime = zyear+"ปี"+"zero"+zdd+"วัน";
}อื่น{
ptime = zdd+"วัน";
-
-
}อื่น{
ถ้า (zmm! = 0) {
ถ้า (zyear! = 0) {
ptime = zyear+"ปี"+zmm+"เดือน";
}อื่น{
ptime = zmm+"เดือน";
-
}อื่น{
ถ้า (zyear! = 0) {
ptime = zyear+"ปี";
}อื่น{
ptime = null;
-
-
-
if (type == 1) {
กลับ PTIME;
}อื่น{
return string.valueof (countddd);
-
-
-
* รับจำนวนเดือน
* @param ปีที่แตกต่างกัน
* @param เดือนที่แตกต่างกัน
* @กลับ
-
สาธารณะคงที่ int getcmm (จำนวนเต็มจำนวนเต็มเดือน) {
int zmm = 0;
ถ้า (เดือน <0) {
zmm = (เดือน + 12) + (ปี -1)*12;
} อื่นถ้า (เดือน == 0) {
ZMM = ปี*12;
}อื่น{
ZMM = ปี*12+เดือน;
-
กลับ ZMM;
-
-
* เปลี่ยนเวลาปัจจุบัน
-
วันที่คงที่สาธารณะเปลี่ยนไป (ประเภทสตริงค่า int) {
ปฏิทินปฏิทิน = Calendar.getInstance (Timezone.getDefault ());
if (type.equals ("เดือน")) {
Calendar.set (Calendar.month, Calendar.get (Calendar.month) + ค่า);
} อื่นถ้า (type.equals ("วันที่")) {
Calendar.set (Calendar.date, Calendar.get (Calendar.date) + ค่า);
-
ส่งคืนปฏิทิน GetTime ();
-
-
* เปลี่ยนเวลา
-
วันที่คงที่สาธารณะเปลี่ยนไป (วันที่วันที่ประเภทสตริงค่า int) {
ถ้า (วันที่! = null) {
// ปฏิทินปฏิทิน = Calendar.getInstance (Timezone.getDefault ());
ปฏิทินปฏิทิน = New Gregoriancalendar ();
Calendar.Settime (วันที่);
// ปฏิทินปฏิทิน = ปฏิทิน
if (type.equals ("เดือน")) {
Calendar.set (Calendar.month, Calendar.get (Calendar.month) + ค่า);
} อื่นถ้า (type.equals ("วันที่")) {
Calendar.set (Calendar.date, Calendar.get (Calendar.date) + ค่า);
} อื่นถ้า (type.endswith ("ปี")) {
Calendar.set (Calendar.year, calendar.get (calendar.year) + ค่า);
-
ส่งคืนปฏิทิน GetTime ();
-
คืนค่า null;
-
-
* Haoxw เปรียบเทียบว่าเวลาอยู่ระหว่างสองช่วงเวลานี้
-
* @param time1
* @param time2
* @กลับ
-
การตรวจสอบบูลีนแบบคงที่สาธารณะ (String Time1, String Time2) {
ปฏิทินปฏิทิน = ปฏิทิน GetInstance ();
วันที่วันที่ 1 = Calendar.getTime ();
วันที่วันที่ 11 = dateutil.str2date (dateutil.date2str (วันที่ 1, "yyyy-mm-dd") + "" + time1); // เวลาเริ่มต้น
ปฏิทิน C = Calendar.getInstance ();
C.Add (Calendar.date, 1);
วันที่วันที่ 2 = c.getTime ();
วันที่ Date22 = dateutil.str2date (dateutil.date2str (date2, "yyyy-mm-dd") + "" + time2); // เวลาการเลิกจ้าง
ปฏิทิน scalendar = calendar.getInstance ();
scalendar.settime (วันที่ 11); // เวลาเริ่มต้น
ปฏิทิน Elendar = Calendar.getInstance ();
Elendar.Settime (Date22); // เวลาการเลิกจ้าง
ปฏิทินปฏิทิน = Calendar.getInstance ();
if (calendarnow.fter (scalendar) && calendarnow.before (equalendar)) {
กลับมาจริง;
} อื่น {
กลับเท็จ;
-
-
-
* Haoxw เปรียบเทียบว่าเวลาอยู่ระหว่างสองช่วงเวลานี้
-
* @param วันที่ 11
* @param date22
* @กลับ
-
เวลาตรวจสอบบูลีนแบบคงที่สาธารณะ (วันที่วันที่ 11, วันที่วันที่ 22) {
ปฏิทิน scalendar = calendar.getInstance ();
scalendar.settime (วันที่ 11); // เวลาเริ่มต้น
ปฏิทิน Elendar = Calendar.getInstance ();
Elendar.Settime (Date22); // เวลาการเลิกจ้าง
ปฏิทินปฏิทิน = Calendar.getInstance ();
if (calendarnow.fter (scalendar) && calendarnow.before (equalendar)) {
กลับมาจริง;
} อื่น {
กลับเท็จ;
-
-
Public Static Boolean CheckDate (สตริงวันที่ 1, สตริงวันที่ 2) {
วันที่วันที่ 11 = dateutil.str2date (วันที่ 1, "yyyy-mm-dd hh: mm: ss"); // เวลาเริ่มต้น
วันที่วันที่ 22 = dateutil.str2date (วันที่ 2, "yyyy-mm-dd hh: mm: ss"); // เวลาการเลิกจ้าง
ปฏิทิน scalendar = calendar.getInstance ();
scalendar.settime (วันที่ 11); // เวลาเริ่มต้น
ปฏิทิน Elendar = Calendar.getInstance ();
Elendar.Settime (Date22); // เวลาการเลิกจ้าง
ปฏิทินปฏิทิน = 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.fter (scalendar) && calendarnow.before (equalendar)) {
กลับมาจริง;
} อื่น {
กลับเท็จ;
-
-
-
* รับวันที่ก่อนวัน
-
* @param Interval
* @param starttime
* รูปแบบ @param
* @กลับ
-
วันที่คงที่สาธารณะ getIntervaldate (ช่วงเวลาสตริง, วันที่เริ่มต้นเวลา, รูปแบบสตริง) {
Calendar Temp = Calendar.getInstance ();
Temp.Settime (เริ่มต้น);
Temp.add (Temp.Date, Integer.ParseInt (Interval));
SimpledateFormat SDF = ใหม่ SimpleDateFormat (รูปแบบ);
สตริง shijian = sdf.format (temp.getTime ());
return str2date (Shijian);
-
รูปแบบวันที่คงที่สาธารณะ (วันที่) {
SimpledateFormat bartdateFormat =
ใหม่ SimpleDateFormat ("YYYY-MM-DD");
System.out.println (bartdateformat.format (วันที่));
SimpledateFormat bartdateFormat1 = new SimpledateFormat ("yyyy-mm-dd");
พยายาม {
วันที่วันที่ 1 = bartdateFormat1.parse (bartdateformat.format (วันที่));
} catch (parseexception e) {
E.PrintStackTrace ();
-
System.out.println (date.getTime ());
วันที่ส่งคืน;
-
โมฆะคงที่สาธารณะหลัก (สตริง arf []) {
/*String time1 = "2009-05-07 19:20:00";
String time2 = "2009-05-08 19:30:00";
DateUtil D = new DateUtil ();
System.out.println (d.checkdate (time1, time2));
System.out.println (d.date2str (วันที่ใหม่ ()));*/
//system.out.println(d.getIntervaldate("-3 ", วันที่ใหม่ (), default_pattern));
ปฏิทินปฏิทิน = Calendar.getInstance (Timezone.getDefault ());
System.out.println (Calendar.toString ());
System.out.println (dateutil.str2date ("20090731", "yyyymmdd"));
System.out.println (dateutil.getBeforedate (วันที่ใหม่ (), 2));
System.out.println (dateutil.datepattern (วันที่ใหม่ ()));
SimpledateFormat bartdateFormat =
ใหม่ SimpleDateFormat ("YYYY-MM-DD");
วันที่วันที่ = วันที่ใหม่ ();
System.out.println ("วันที่"+bartdateformat.format (วันที่));
SimpledateFormat bartdateFormat1 = new SimpledateFormat ("yyyy-mm-dd");
พยายาม {
วันที่วันที่ 1 = bartdateFormat1.parse (bartdateformat.format (วันที่));
System.out.println ("วันที่:"+วันที่ 1);
} catch (parseexception e) {
E.PrintStackTrace ();
-
-
-