Salinan kode adalah sebagai berikut:
impor java.text.parseexception;
impor java.text.simpledateFormat;
impor java.util.calendar;
impor java.util.date;
impor java.util.gregoriancalendar;
impor java.util.timezone;
/**
* Fungsi Pemrosesan Waktu
*
* @20080509 15:50
*/
dateutil kelas publik {
string final statis pribadi default_pattern = "yyyy-mm-dd hh: mm: ss";
string final statis public time_year = "yyyy";
string final public static time_monen = "mm";
string final public static time_day = "dd";
Public Static String GetDate (String Interval, Date StartTime, Pola String) {
Calendar temp = calendar.getInstance (timezone.getDefault ());
Temp.Settime (StartTime);
temp.add (temp.month, integer.parseint (interval));
SimpleDateFormat SDF = new SimpleDateFormat (pola);
return sdf.format (temp.getTime ());
}
/**
* Konversi tipe string ke tipe waktu
*
* @kembali
*/
Tanggal statis publik str2date (string str) {
Tanggal d = null;
SimpleDateFormat sdf = new SimpleDateFormat (default_pattern);
mencoba {
d = sdf.parse (str);
} catch (Exception e) {
e.printstacktrace ();
}
kembali D;
}
Tanggal statis publik str2date (string str, pola string) {
Tanggal d = null;
SimpleDateFormat SDF = new SimpleDateFormat (pola);
mencoba {
d = sdf.parse (str);
} catch (Exception e) {
e.printstacktrace ();
}
kembali D;
}
/**
* Memformat waktu
*
* @kembali
*/
Tanggal Statis Publik DatePattern (Tanggal Tanggal) {
SimpleDateFormat sdf = new SimpleDateFormat (default_pattern);
mencoba {
String dd = sdf.format (tanggal);
tanggal = str2date (dd);
} catch (Exception e) {
e.printstacktrace ();
}
tanggal pengembalian;
}
/**
* Memformat waktu
*/
Tanggal Statis Publik DatePattern (Tanggal Tanggal, Pola String) {
SimpleDateFormat SDF = new SimpleDateFormat (pola);
mencoba {
String dd = sdf.format (tanggal);
tanggal = str2date (dd, pola);
} catch (Exception e) {
e.printstacktrace ();
}
tanggal pengembalian;
}
Public Static String Date2str (tanggal tanggal) {
SimpleDateFormat sdf = new SimpleDateFormat (default_pattern);
return sdf.format (tanggal);
}
Public Static String Date2str (tanggal tanggal, format string) {
SimpleDateFormat SDF = new SimpleDateFormat (format);
return sdf.format (tanggal);
}
/**
* Dapatkan kemarin
*
* @param Date
* @kembali
* @Throws Exception
*/
Tanggal statis publik getLastDate (tanggal tanggal) {
Kalender kalender = calendar.getInstance (timezone.getDefault ());
Calendar.Settime (tanggal);
calendar.add (calendar.date, -1);
return str2Date (date2str (calendar.getTime ()));
}
/**
* Dapatkan beberapa hari yang lalu
* @param Date
* @kembali
*/
Tanggal statis publik getBeforedate (tanggal tanggal, tanggal int) {
Kalender kalender = calendar.getInstance (timezone.getDefault ());
Calendar.Settime (tanggal);
calendar.add (calendar.date, -date);
return str2Date (date2str (calendar.getTime ()));
}
/**
* Dapatkan hari pertama minggu lalu (Senin)
*
* @param Date
* @kembali
* @Throws Exception
*/
Tanggal statis publik getLastWeekStart (tanggal tanggal) {
Kalender kalender = calendar.getInstance (timezone.getDefault ());
Calendar.Settime (tanggal);
int i = calendar.get (calendar.day_of_week) - 1;
int startnum = 0;
if (i == 0) {
startnum = 7 + 6;
} kalau tidak {
startnum = 7 + i - 1;
}
calendar.add (calendar.date, -startnum);
return str2Date (date2str (calendar.getTime ()));
}
/**
* Dapatkan hari terakhir minggu lalu (akhir pekan)
*
* @param Date
* @kembali
* @Throws Exception
*/
Tanggal Statis Publik GetLastWeekend (tanggal tanggal) {
Kalender kalender = calendar.getInstance (timezone.getDefault ());
Calendar.Settime (tanggal);
int i = calendar.get (calendar.day_of_week) - 1;
int endnum = 0;
if (i == 0) {
endnum = 7;
} kalau tidak {
endnum = i;
}
calendar.add (calendar.date, - (endnum - 1));
return str2Date (date2str (calendar.getTime ()));
}
/**
* Dapatkan hari berdasarkan tahun dan bulan
* @param num bulan
* @param tahun
* @kembali
*/
public static int getDay (int num, int tahun) {
if (num == 1 || num == 3 || num == 5 || num == 7 || num == 8 || num == 10 || num == 12) {
kembali 31;
} lain jika (num == 2) {
// menilai apakah itu tahun kabisat
if (tahun%400 == 0 || (tahun%4 == 0 && tahun%100! = 0)) {
kembali 29;
}kalau tidak{
kembali 28;
}
}kalau tidak{
kembali 30;
}
}
/*
* Hitung berapa hari yang ada hingga tanggal saat ini bulan depan
*/
public static int getdaymis (waktu tanggal) {
int tahun = integer.parseint (
new SimpleDateFormat (time_year) .Format (waktu)); // tahun
int mm = integer.parseint (
new SimpleDateFormat (time_monen) .Format (waktu)); // bulan
int dd = integer.parseint (
new SimpleDateFormat (time_day) .Format (Time)); // Day
// Dapatkan jumlah hari di tahun dan bulan berjalan
int sdd = getDay (mm, tahun);
mengembalikan SDD-DD;
}
/**
* Tanggal Jumlah Detik
* @param DataString
* @kembali
*/
Public Static Long GetTime (String DateString) {
Lama waktu = 0;
mencoba {
Tanggal ret = null;
SimpleDateFormat sdf = new SimpleDateFormat ("yyyy-mm-dd hh: mm: ss");
ret = sdf.parse (dateString);
waktu = ret.getTime ()/1000;
} catch (Exception e) {
}
waktu pengembalian;
}
/**
* Hitung secara akurat perbedaan waktu, akurat hingga hari itu
* @param fistill tanggal mulai
* @param sekarang tanggal akhir
* Jenis @param Tipe adalah 1 dan pengembalian tahun, bulan dan hari (seperti: 2 tahun, 3 bulan dan 5 hari) Sebaliknya, kembalikan jumlah hari
* @kembali
*/
Public Static String Patienage (tanggal fistill, tanggal sekarang, tipe integer) {
int fight = integer.parseint (
new SimpleDateFormat (Time_Year) .Format (fistill)); // Tahun Pertama
int fmm = integer.parseint (
new SimpleDateFormat (time_monen) .Format (fistill)); // bulan pertama
int fdd = integer.parseint (
new SimpleDateFormat (time_day) .Format (fistill)); // tanggal pertama
int nyear = integer.parseint (
new SimpleDateFormat (time_year) .Format (sekarang waktu)); // akhir tahun
int nmm = integer.parseint (
new SimpleDateFormat (time_monen) .Format (sekarang waktu)); // akhir bulan
int ndd = integer.parseint (
new SimpleDateFormat (time_day) .format (sekarang waktu)); // tanggal akhir
int cyber = nyear - fyear;
int cmmm = nmm - fmm;
int cdd = ndd - fdd;
int zyear = 0;
int zmm = 0;
int zdd = 0;
int countddd = 0; // jumlah kumulatif hari dalam tahun, bulan dan hari
if (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;
} lain jika (cmm == 0) {
zyear = cyear - 1;
zmm = 12-1;
int dd = getDay (zmm, nyear-1);
ZDD = DD + CDD;
countddd = zyear*365+zmm*30+zdd;
}kalau tidak{
zyear = cinear;
zmm = cmmm - 1;
int dd = getDay (zmm, nyear);
ZDD = DD + CDD;
countddd = zyear*365+zmm*30+zdd;
}
} lain jika (cdd == 0) {
if (cm <0) {
zyear = cyear - 1;
zmm = cmmm + 12;
zdd = 0;
countddd = zyear*365+zmm*30;
} lain jika (cmm == 0) {
zyear = cinear;
zmm = 0;
zdd = 0;
countddd = zyear*365+zmm*30;
}kalau tidak{
zyear = cinear;
zmm = cmmm;
zdd = 0;
countddd = zyear*365+zmm*30;
}
}kalau tidak{
if (cm <0) {
zyear = cyear - 1;
zmm = cmmm + 12;
ZDD = CDD;
countddd = zyear*365+zmm*30+zdd;
} lain jika (cmm == 0) {
zyear = cinear;
zmm = 0;
ZDD = CDD;
countddd = zyear*365+zmm*30+zdd;
}kalau tidak{
zyear = cinear;
zmm = cmmm;
ZDD = CDD;
countddd = zyear*365+zmm*30+zdd;
}
}
String pTime = null;
if (zdd! = 0) {
if (zmm! = 0) {
if (zyear! = 0) {
pTime = zyear+"tahun"+zmm+"bulan"+"nol"+zdd+"hari";
}kalau tidak{
pTime = zmm+"bulan"+"nol"+zdd+"hari";
}
}kalau tidak{
if (zyear! = 0) {
pTime = zyear+"tahun"+"nol"+zdd+"hari";
}kalau tidak{
pTime = zdd+"hari";
}
}
}kalau tidak{
if (zmm! = 0) {
if (zyear! = 0) {
pTime = zyear+"tahun"+zmm+"bulan";
}kalau tidak{
pTime = zmm+"bulan";
}
}kalau tidak{
if (zyear! = 0) {
pTime = zyear+"tahun";
}kalau tidak{
pTime = null;
}
}
}
if (type == 1) {
Kembalikan pTime; // kembali ke tahun, bulan dan hari (seperti: 2 tahun, 3 bulan dan 5 hari)
}kalau tidak{
Return String.ValueOf (CountDDD);
}
}
/**
* Dapatkan jumlah bulan
* @param tahun perbedaan
* Perbedaan bulan @param
* @kembali
*/
public static int getCMM (tahun integer, bulan integer) {
int zmm = 0;
if (bulan <0) {
zmm = (bulan + 12) + (tahun-1)*12;
} lain jika (bulan == 0) {
zmm = tahun*12;
}kalau tidak{
zmm = tahun*12+bulan;
}
mengembalikan zmm;
}
/**
* Ubah waktu saat ini
*/
Tanggal Statis Publik Mengubah (Jenis String, Nilai Int) {
Kalender kalender = calendar.getInstance (timezone.getDefault ());
if (type.equals ("month")) {
calendar.set (calendar.month, calendar.get (calendar.month) + nilai);
} lain jika (type.equals ("date")) {
calendar.set (calendar.date, calendar.get (calendar.date) + nilai);
}
return calendar.getTime ();
}
/**
* Ubah waktu
*/
Tanggal Statis Publik Mengubah (Tanggal Tanggal, Jenis String, Nilai Int) {
if (date! = null) {
// kalender kalender = calendar.getInstance (timezone.getDefault ());
Kalender kalender = gregoriancalendar baru ();
Calendar.Settime (tanggal);
// Kalender Kalender = Kalender.
if (type.equals ("month")) {
calendar.set (calendar.month, calendar.get (calendar.month) + nilai);
} lain jika (type.equals ("date")) {
calendar.set (calendar.date, calendar.get (calendar.date) + nilai);
} lain jika (type.endswith ("tahun")) {
calendar.set (calendar.year, calendar.get (calendar.year) + nilai);
}
return calendar.getTime ();
}
kembali nol;
}
/**
* haoxw membandingkan apakah waktunya antara dua titik waktu ini
*
* @param time1
* @param Time2
* @kembali
*/
Checktime boolean statis publik (string time1, string time2) {
Kalender kalender = calendar.getInstance ();
Tanggal Tanggal1 = Calendar.GetTime ();
Tanggal Tanggal11 = Dateutil.Str2Date (Dateutil.Date2str (Date1, "Yyyy-MM-DD") + "" + Time1); // Waktu Mulai
Kalender c = calendar.getInstance ();
C.Add (Calendar.Date, 1);
Tanggal Tanggal2 = C.GetTime ();
Tanggal Tanggal22 = Dateutil.Str2Date (Dateutil.Date2str (Date2, "YYYY-MM-DD") + "" + Time2); // Waktu Pengakhiran
Kalender scalendar = calendar.getInstance ();
Scalendar.settime (Date11); // Waktu Mulai
Kalender elendar = calendar.getInstance ();
elendar.settime (date22); // waktu penghentian
Calendar CalendARNOW = Calendar.getInstance ();
if (calendARnow.after (scalendar) && calendARnow.before (equalendar)) {
Kembali Benar;
} kalau tidak {
mengembalikan false;
}
}
/**
* haoxw membandingkan apakah waktunya antara dua titik waktu ini
*
* @param Date11
* @param Date22
* @kembali
*/
Publik Boolean Checktime Statis (Tanggal Tanggal11, Tanggal Tanggal22) {
Kalender scalendar = calendar.getInstance ();
Scalendar.settime (Date11); // Waktu Mulai
Kalender elendar = calendar.getInstance ();
elendar.settime (date22); // waktu penghentian
Calendar CalendARNOW = Calendar.getInstance ();
if (calendARnow.after (scalendar) && calendARnow.before (equalendar)) {
Kembali Benar;
} kalau tidak {
mengembalikan false;
}
}
Public Static Boolean CheckDate (String Date1, String Date2) {
Tanggal Tanggal11 = Dateutil.Str2Date (Date1, "YYYY-MM-DD HH: MM: SS"); // Waktu Mulai
Tanggal Tanggal22 = Dateutil.Str2Date (Date2, "Yyyy-MM-DD HH: MM: SS"); // Waktu Pengakhiran
Kalender scalendar = calendar.getInstance ();
Scalendar.settime (Date11); // Waktu Mulai
Kalender elendar = calendar.getInstance ();
elendar.settime (date22); // waktu penghentian
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)) {
Kembali Benar;
} kalau tidak {
mengembalikan false;
}
}
/**
* Dapatkan Tanggal Sebelum Hari Jaringan
*
* @param Interval
* @param starttime
* Pola @param
* @kembali
*/
Tanggal Statis Publik GetInterValDate (Interval String, Tanggal StartTime, Pola String) {
Calendar temp = calendar.getInstance ();
Temp.Settime (StartTime);
temp.add (temp.date, integer.parseint (interval));
SimpleDateFormat SDF = new SimpleDateFormat (pola);
String shijian = sdf.format (temp.getTime ());
return str2date (Shijian);
}
format tanggal statis publik (tanggal tanggal) {
SimpleDateFormat BartDateFormat =
new SimpleDateFormat ("yyyy-mm-dd");
System.out.println (bartDateFormat.format (tanggal));
SimpleDateFormat BartDateFormat1 = new SimpleDateFormat ("yyyy-mm-dd");
mencoba {
Tanggal 1 = bartDateFormat1.parse (bartDateFormat.format (date));
} catch (parseException e) {
e.printstacktrace ();
}
System.out.println (date.getTime ());
tanggal pengembalian;
}
public static void main (string arf []) {
/*String time1 = "2009-05-07 19:20:00";
String time2 = "2009-05-08 19:30:00";
Dateutil d = dateutil baru ();
System.out.println (D.CheckDate (Time1, Time2));
System.out.println (D.Date2str (new Date ()));*/
//System.out.println(d.getInterValDate("-3 ", tanggal baru (), default_pattern));
Kalender kalender = calendar.getInstance (timezone.getDefault ());
System.out.println (calendar.tostring ());
System.out.println (dateutil.str2Date ("20090731", "yyyymmdd"));
System.out.println (dateutil.getBeforedate (tanggal baru (), 2));
System.out.println (dateutil.datePattern (tanggal baru ()));
SimpleDateFormat BartDateFormat =
new SimpleDateFormat ("yyyy-mm-dd");
Tanggal Tanggal = Tanggal Baru ();
System.out.println ("Tanggal;"+BartDateFormat.Format (Tanggal));
SimpleDateFormat BartDateFormat1 = new SimpleDateFormat ("yyyy-mm-dd");
mencoba {
Tanggal 1 = bartDateFormat1.parse (bartDateFormat.format (date));
System.out.println ("Tanggal:"+Date1);
} catch (parseException e) {
e.printstacktrace ();
}
}
}