La copia del código es la siguiente:
import java.text.parseException;
import java.text.simpledateFormat;
import java.util.calendar;
import java.util.date;
import java.util.gregoriancalendar;
import java.util.timezone;
/**
* Función de procesamiento de tiempo
*
* @20080509 15:50
*/
clase pública dateutil {
Cadena final estática privada default_pattern = "yyyy-mm-dd hh: mm: ss";
Public static final String time_year = "yyyy";
public static final String time_monen = "mm";
Public static final String time_day = "dd";
public static string getDate (intervalo de cadena, fecha de inicio de fecha, patrón de cadena) {
Calendario temp = calendar.getInstance (TimeZone.getDefault ());
temp.setTime (tiempo de inicio);
temp.add (temp.month, integer.parseint (intervalo));
SimpleDateFormat sdf = new SimpleDateFormat (patrón);
return sdf.format (temp.gettime ());
}
/**
* Convertir el tipo de cadena al tipo de tiempo
*
* @devolver
*/
Fecha estática pública Str2Date (String Str) {
Fecha d = nulo;
SimpleDateFormat sdf = new SimpleDateFormat (default_pattern);
intentar {
d = sdf.parse (str);
} Catch (Exception e) {
E.PrintStackTrace ();
}
regresar D;
}
Fecha estática pública Str2Date (String Str, String Pattern) {
Fecha d = nulo;
SimpleDateFormat sdf = new SimpleDateFormat (patrón);
intentar {
d = sdf.parse (str);
} Catch (Exception e) {
E.PrintStackTrace ();
}
regresar D;
}
/**
* Formatear la hora
*
* @devolver
*/
Public Static Fecha Fecha Patrón (fecha de fecha) {
SimpleDateFormat sdf = new SimpleDateFormat (default_pattern);
intentar {
Cadena dd = sdf.format (fecha);
fecha = str2date (dd);
} Catch (Exception e) {
E.PrintStackTrace ();
}
Fecha de devolución;
}
/**
* Formatear la hora
*/
Public static fecha de fecha (fecha de fecha, patrón de cadena) {
SimpleDateFormat sdf = new SimpleDateFormat (patrón);
intentar {
Cadena dd = sdf.format (fecha);
fecha = str2date (dd, patrón);
} Catch (Exception e) {
E.PrintStackTrace ();
}
Fecha de devolución;
}
public static string date2str (fecha de fecha) {
SimpleDateFormat sdf = new SimpleDateFormat (default_pattern);
return sdf.format (fecha);
}
public static string date2str (fecha de fecha, formato de cadena) {
SimpleDateFormat sdf = new SimpleDateFormat (formato);
return sdf.format (fecha);
}
/**
* Obtenga ayer
*
* @Param Fecha
* @devolver
* @@throws Exception
*/
Fecha estática pública GetLastDate (fecha de fecha) {
Calendario calendario = calendario.getInstance (TimEzone.getDefault ());
calendario. Settime (fecha);
calendar.add (calendario.date, -1);
return str2date (date2str (calendar.gettime ()));
}
/**
* Consíguelo hace unos días
* @Param Fecha
* @devolver
*/
Fecha estática pública getBeForedate (fecha de fecha, int fechas) {
Calendario calendario = calendario.getInstance (TimEzone.getDefault ());
calendario. Settime (fecha);
calendar.add (calendario.date, -dates);
return str2date (date2str (calendar.gettime ()));
}
/**
* Obtenga el primer día de la semana pasada (lunes)
*
* @Param Fecha
* @devolver
* @@throws Exception
*/
Fecha estática pública GetLastWeekStart (fecha de fecha) {
Calendario calendario = calendario.getInstance (TimEzone.getDefault ());
calendario. Settime (fecha);
int i = calendar.get (calendar.day_of_week) - 1;
int startnum = 0;
if (i == 0) {
startnum = 7 + 6;
} demás {
startnum = 7 + i - 1;
}
calendar.add (calendar.date, -startnum);
return str2date (date2str (calendar.gettime ()));
}
/**
* Obtenga el último día de la semana pasada (fin de semana)
*
* @Param Fecha
* @devolver
* @@throws Exception
*/
Fecha estática pública getLastweekend (fecha de fecha) {
Calendario calendario = calendario.getInstance (TimEzone.getDefault ());
calendario. Settime (fecha);
int i = calendar.get (calendar.day_of_week) - 1;
int endnum = 0;
if (i == 0) {
Endnum = 7;
} demás {
endnum = i;
}
calendar.add (calendario.date, - (endnum - 1));
return str2date (date2str (calendar.gettime ()));
}
/**
* Obtenga días basados en año y mes
* @param num mes
* @param año
* @devolver
*/
public static int getday (int num, int año) {
if (num == 1 || num == 3 || num == 5 || num == 7 || num == 8 || num == 10 || num == 12) {
regreso 31;
} else if (num == 2) {
// juzga si es un año bisiesto
if (año%400 == 0 || (año%4 == 0 && año%100! = 0)) {
regresar 29;
}demás{
regreso 28;
}
}demás{
regresar 30;
}
}
/*
* Calcule cuántos días hay para la fecha actual el próximo mes
*/
public static int getdaymis (hora de fecha) {
int año = Integer.ParseInt (
new SimpleDateFormat (Time_year) .Format (Time)); // año
int mm = integer.ParseInt (
new SimpleDateFormat (Time_Monen) .Format (Time)); // mes
int dd = integer.ParseInt (
new SimpleDateFormat (Time_day) .Format (Time)); // Day
// Obtener el número total de días en el año y mes en curso
int sdd = getday (mm, año);
return sdd-dd;
}
/**
* Número de fecha de segundos
* @param dataTring
* @devolver
*/
public static long gettime (string dataTring) {
mucho tiempo = 0;
intentar {
Fecha retir = nulo;
SimpleDateFormat sdf = new SimpleDateFormat ("yyyy-mm-dd hh: mm: ss");
ret = sdf.parse (dataTring);
tiempo = ret.gettime ()/1000;
} Catch (Exception e) {
}
tiempo de regreso;
}
/**
* Calcule con precisión la diferencia de tiempo, precisa para el día
* @param FISTILL Fecha de inicio
* @Param ahora Fecha de finalización
* @param Type Type es 1 y devuelve año, mes y día (como: 2 años, 3 meses y 5 días) de lo contrario, devuelva el número total de días
* @devolver
*/
public static string patienage (fecha fistill, fecha ahora tiempo, tipo entero) {
int lucha = integer.parseInt (
new SimpleDateFormat (Time_Year) .Format (Fistill)); // Primer año
int fmm = integer.ParseInt (
new SimpleDateFormat (Time_Monen) .Format (Fistill)); // Primer mes
int fdd = integer.ParseInt (
new SimpleDateFormat (Time_day) .Format (Fistill)); // Primera fecha
int nyear = integer.ParseInt (
new SimpleDateFormat (Time_year) .Format (ahora Time)); // Finalizar año
int nmm = integer.ParseInt (
new SimpleDateFormat (Time_Monen) .Format (ahora Time)); // finalizar el mes
int ndd = integer.parseInt (
new SimpleDateFormat (Time_day) .Format (NowTime)); // Fecha de finalización
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) {
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;
} else if (cmm == 0) {
zyear = cyear - 1;
ZMM = 12-1;
int dd = getday (zmm, nyear-1);
zdd = dd + cdd;
countddd = zyear*365+zmm*30+zdd;
}demás{
zyear = cinear;
zmm = cmmm - 1;
int dd = getday (zmm, nyear);
zdd = dd + cdd;
countddd = zyear*365+zmm*30+zdd;
}
} else if (cdd == 0) {
if (cm <0) {
zyear = cyear - 1;
zmm = cmmm + 12;
ZDD = 0;
countddd = zyear*365+zmm*30;
} else if (cmm == 0) {
zyear = cinear;
zmm = 0;
ZDD = 0;
countddd = zyear*365+zmm*30;
}demás{
zyear = cinear;
zmm = cmmm;
ZDD = 0;
countddd = zyear*365+zmm*30;
}
}demás{
if (cm <0) {
zyear = cyear - 1;
zmm = cmmm + 12;
zdd = cdd;
countddd = zyear*365+zmm*30+zdd;
} else if (cmm == 0) {
zyear = cinear;
zmm = 0;
zdd = cdd;
countddd = zyear*365+zmm*30+zdd;
}demás{
zyear = cinear;
zmm = cmmm;
zdd = cdd;
countddd = zyear*365+zmm*30+zdd;
}
}
Cadena ptime = null;
if (zdd! = 0) {
if (zmm! = 0) {
if (zyear! = 0) {
PTime = zyear+"año"+zmm+"mes"+"cero"+zdd+"día";
}demás{
ptime = zmm+"mes"+"cero"+zdd+"día";
}
}demás{
if (zyear! = 0) {
pTime = zyear+"año"+"cero"+zdd+"día";
}demás{
ptime = zdd+"día";
}
}
}demás{
if (zmm! = 0) {
if (zyear! = 0) {
PTime = zyear+"año"+zmm+"mes";
}demás{
ptime = zmm+"mes";
}
}demás{
if (zyear! = 0) {
pTime = zyear+"año";
}demás{
ptime = nulo;
}
}
}
if (type == 1) {
regresar ptime;
}demás{
return String.ValueOf (CountDDD);
}
}
/**
* Obtenga el número de meses
* @param año año diferencia
* @Param Mes Diferencia
* @devolver
*/
public static int getcmm (año entero, mes entero) {
int zmm = 0;
if (mes <0) {
zmm = (mes + 12) + (año-1)*12;
} else if (mes == 0) {
zmm = año*12;
}demás{
zmm = año*12+mes;
}
regresar zmm;
}
/**
* Cambiar la hora actual
*/
Fecha estática pública cambiada (tipo de cadena, int value) {
Calendario calendario = calendario.getInstance (TimEzone.getDefault ());
if (type.equals ("mes")) {
calendario.set (calendario.month, calendar.get (calendario.month) + valor);
} else if (type.equals ("date")) {
calendar.set (calendar.date, calendar.get (calendar.date) + valor);
}
return calendar.gettime ();
}
/**
* Cambiar el tiempo
*/
Fecha estática pública cambiada (fecha de fecha, tipo de cadena, valor int) {
if (date! = null) {
// calendario calendario = calendario.getInstance (TimEzone.getDefault ());
Calendario calendario = nuevo Gregoriancalendar ();
calendario. Settime (fecha);
// Calendario Calendario = Calendario.
if (type.equals ("mes")) {
calendario.set (calendario.month, calendar.get (calendario.month) + valor);
} else if (type.equals ("date")) {
calendar.set (calendar.date, calendar.get (calendar.date) + valor);
} else if (type.endswith ("año")) {
calendar.set (calendar.year, calendar.get (calendar.year) + valor);
}
return calendar.gettime ();
}
regresar nulo;
}
/**
* Haoxw compare si el tiempo es entre estos dos puntos de tiempo
*
* @param time1
* @param time2
* @devolver
*/
Public static static boolean time (string time1, string time2) {
Calendario calendario = calendario.getInstance ();
Fecha fecha1 = calendar.gettime ();
Fecha date11 = dateUtil.str2Date (dateUtil.date2str (date1, "aaa yyyy-mm-dd") + "" + time1); // hora de inicio
Calendario c = calendario.getInstance ();
C.Add (calendario.date, 1);
Fecha fecha2 = c.gettime ();
Fecha date22 = dateUtil.str2Date (dateUtil.date2str (date2, "aaa yyyy-mm-dd") + "" + time2); // Tiempo de terminación
Calendar Scalendar = calendar.getInstance ();
Scalendar.setTime (date11); // Hora de inicio
Calendario elendar = calendar.getInstance ();
Elendar.setTime (date22); // Tiempo de terminación
Calendario calendarnow = calendar.getInstance ();
if (calendarnow.after (scalendar) && calendarnow.before (igualendar)) {
devolver verdadero;
} demás {
devolver falso;
}
}
/**
* Haoxw compare si el tiempo es entre estos dos puntos de tiempo
*
* @param date11
* @param date22
* @devolver
*/
tiempo de verificación booleano estático público (fecha de fecha11, fecha fecha22) {
Calendar Scalendar = calendar.getInstance ();
Scalendar.setTime (date11); // Hora de inicio
Calendario elendar = calendar.getInstance ();
Elendar.setTime (date22); // Tiempo de terminación
Calendario calendarnow = calendar.getInstance ();
if (calendarnow.after (scalendar) && calendarnow.before (igualendar)) {
devolver verdadero;
} demás {
devolver falso;
}
}
Public static static boolean Checkate (string date1, string date2) {
Fecha date11 = dateUtil.str2Date (date1, "yyyy-mm-dd hh: mm: ss"); // hora de inicio
Fecha date22 = dateUtil.str2Date (date2, "yyyy-mm-dd hh: mm: ss"); // tiempo de terminación
Calendar Scalendar = calendar.getInstance ();
Scalendar.setTime (date11); // Hora de inicio
Calendario elendar = calendar.getInstance ();
Elendar.setTime (date22); // Tiempo de terminación
Calendario 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 (igualendar)) {
devolver verdadero;
} demás {
devolver falso;
}
}
/**
* Obtenga la fecha antes de los días de intervalo
*
* @Param Interval
* @param starttime
* @param patrón
* @devolver
*/
Fecha estática pública getIntervalDate (intervalo de cadena, fecha de inicio de fecha, patrón de cadena) {
Calendario temp = calendar.getInstance ();
temp.setTime (tiempo de inicio);
temp.add (temp.date, integer.parseInt (intervalo));
SimpleDateFormat sdf = new SimpleDateFormat (patrón);
Cadena shijian = sdf.format (temp.gettime ());
return str2date (shijian);
}
Formato de fecha estática pública (fecha de fecha) {
SimpleDateFormat bartdateFormat =
nuevo SimpleDateFormat ("aaa yyy-mm-dd");
System.out.println (bartdateformat.format (fecha));
SimpleDateFormat BartDateFormat1 = new SimpleDateFormat ("yyyy-mm-dd");
intentar {
Fecha fecha1 = bartdateformat1.parse (bartdateformat.format (fecha));
} Catch (ParseException e) {
E.PrintStackTrace ();
}
System.out.println (date.gettime ());
Fecha de devolución;
}
public static void main (string 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 (new Date ()));*/
//System.out.println(d.getIntervalDate("-3 ", nueva fecha (), default_pattern));
Calendario calendario = calendario.getInstance (TimEzone.getDefault ());
System.out.println (calendar.toString ());
System.out.println (dateUtil.str2Date ("20090731", "yyyymmdd"));
System.out.println (dateUtil.getBeForedate (nuevo date (), 2));
System.out.println (dateUtil.datePattern (nuevo date ()));
SimpleDateFormat bartdateFormat =
nuevo SimpleDateFormat ("aaa yyy-mm-dd");
Fecha fecha = nueva fecha ();
System.out.println ("date;"+bartdateformat.format (fecha));
SimpleDateFormat BartDateFormat1 = new SimpleDateFormat ("yyyy-mm-dd");
intentar {
Fecha fecha1 = bartdateformat1.parse (bartdateformat.format (fecha));
System.out.println ("Date:"+Date1);
} Catch (ParseException e) {
E.PrintStackTrace ();
}
}
}