A cópia do código é a seguinte:
importar java.text.parseException;
importar java.text.simpledateFormat;
importar java.util.calendar;
importar java.util.date;
importar java.util.gregorianCalendar;
importar java.util.TimeZone;
/**
* Função de processamento de tempo
*
* @20080509 15:50
*/
classe pública DateUtil {
String final estática privada default_pattern = "yyyy-mm-dd hh: mm: ss";
public static final string time_year = "AAA";
public static final string time_monen = "mm";
public static final string time_day = "dd";
public static string getDate (intervalo de string, data de início, padrão de string) {
Calendário temp = calendar.getInstance (timezone.getDefault ());
temp.setTime (StartTime);
temp.add (temp.month, inteiro.parseint (intervalo));
SimpledateFormat sdf = new SimpleDateFormat (padrão);
return sdf.format (temp.gettime ());
}
/**
* Converter String Type to Time Type
*
* @retornar
*/
Public Static Date Str2Date (String str) {
Data d = null;
SimpledateFormat sdf = new SimpleDateFormat (default_pattern);
tentar {
d = sdf.parse (str);
} catch (Exceção e) {
E.PrintStackTrace ();
}
retornar d;
}
Public Static Date Str2Date (String str, String Pattern) {
Data d = null;
SimpledateFormat sdf = new SimpleDateFormat (padrão);
tentar {
d = sdf.parse (str);
} catch (Exceção e) {
E.PrintStackTrace ();
}
retornar d;
}
/**
* Formate a hora
*
* @retornar
*/
public static date datepattern (data) {
SimpledateFormat sdf = new SimpleDateFormat (default_pattern);
tentar {
String dd = sdf.format (data);
data = str2date (dd);
} catch (Exceção e) {
E.PrintStackTrace ();
}
data de retorno;
}
/**
* Formate a hora
*/
public date static datepattern (data de data, padrão de string) {
SimpledateFormat sdf = new SimpleDateFormat (padrão);
tentar {
String dd = sdf.format (data);
data = str2date (dd, padrão);
} catch (Exceção e) {
E.PrintStackTrace ();
}
data de retorno;
}
public static string date2str (data de data) {
SimpledateFormat sdf = new SimpleDateFormat (default_pattern);
retornar sdf.format (data);
}
public static string date2str (data de data, formato de string) {
SimpledateFormat sdf = new SimpleDateFormat (formato);
retornar sdf.format (data);
}
/**
* Obtenha ontem
*
* @param data
* @retornar
* @Throws Exception
*/
Public Static Date getLastDate (data) {
Calendário calendário = calendário.getInstance (timezone.getDefault ());
calendário.setTime (data);
calendário.add (calendário.date, -1);
retornar str2date (date2str (calendar.gettime ()));
}
/**
* Pegue alguns dias atrás
* @param data
* @retornar
*/
Data estática pública GetBeForedate (data de data, int datas) {
Calendário calendário = calendário.getInstance (timezone.getDefault ());
calendário.setTime (data);
calendário.add (calendário.date, -dates);
retornar str2date (date2str (calendar.gettime ()));
}
/**
* Obtenha o primeiro dia da semana passada (segunda -feira)
*
* @param data
* @retornar
* @Throws Exception
*/
Data estática pública getLastWeekstart (data) {
Calendário calendário = calendário.getInstance (timezone.getDefault ());
calendário.setTime (data);
int i = calendar.get (calendar.day_of_week) - 1;
int startnum = 0;
if (i == 0) {
startnum = 7 + 6;
} outro {
startnum = 7 + i - 1;
}
calendário.add (calendário.date, -startnum);
retornar str2date (date2str (calendar.gettime ()));
}
/**
* Obtenha o último dia da semana passada (fim de semana)
*
* @param data
* @retornar
* @Throws Exception
*/
Data estática pública getLastWeekEND (data) {
Calendário calendário = calendário.getInstance (timezone.getDefault ());
calendário.setTime (data);
int i = calendar.get (calendar.day_of_week) - 1;
int endnum = 0;
if (i == 0) {
endnum = 7;
} outro {
endnum = i;
}
calendário.add (calendário.date, - (endnum - 1));
retornar str2date (date2str (calendar.gettime ()));
}
/**
* Obtenha dias com base no ano e mês
* @param num mês
* @param ano
* @retornar
*/
public static int getDay (int num, int ano) {
if (num == 1 || num == 3 || num == 5 || num == 7 || num == 8 || num == 10 || num == 12) {
retornar 31;
} else if (num == 2) {
// julga se é um ano bissenso
if (ano%400 == 0 || (ano%4 == 0 && ano%100! = 0)) {
retornar 29;
}outro{
retornar 28;
}
}outro{
retornar 30;
}
}
/*
* Calcule quantos dias existem na data atual do próximo mês
*/
public static int getDaymis (data de data) {
int year = Integer.parseint (
novo SimpleDateFormat (time_year) .Format (tempo)); // ano
int mm = Integer.parseint (
novo SimpleDateFormat (time_monen) .format (tempo)); // mês
int dd = intoger.parseint (
novo SimpleDateFormat (time_day) .format (horário)); // dia
// Obtenha o número total de dias no ano e mês atual
int sdd = getday (mm, ano);
retornar sdd-dd;
}
/**
* Data Número de segundos
* @param datestring
* @retornar
*/
public static long gettime (string datestring) {
longo tempo = 0;
tentar {
Data ret = null;
SimpledateFormat sdf = new SimpleDateFormat ("AAAA-MM-DD HH: MM: SS");
ret = sdf.parse (datestring);
time = ret.getTime ()/1000;
} catch (Exceção e) {
}
tempo de retorno;
}
/**
* Calcule com precisão a diferença de horário, precisa para o dia
* @param fistill data de início
* @param nowime time Data
* O tipo de tipo @param é 1 e retorna ano, mês e dia (como: 2 anos, 3 meses e 5 dias) Caso contrário, retorne o número total de dias
* @retornar
*/
public Static String Patienage (Data Fistill, Data Nowtime, Tipo Inteiro) {
int lutar = Integer.parseint (
novo SimpleDateFormat (time_year) .format (fistill)); // primeiro ano
int fmm = Integer.parseint (
novo SimpleDateFormat (time_monen) .format (fistill)); // primeiro mês
int fdd = Integer.parseint (
novo SimpleDateFormat (time_day) .Format (Fistill)); // Primeira data
int nYear = Integer.parseint (
novo SimpleDateFormat (time_year) .Format (NowTime)); // END Ano
int nmm = Integer.parseint (
novo SimpleDateFormat (time_monen) .format (nowtime)); // mês final
int ndd = Integer.parseint (
new SimpleDateFormat (time_day) .Format (nowtime)); // Data de término
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;
}outro{
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;
}outro{
zyear = CINEAR;
zmm = cmmm;
zdd = 0;
countddd = zyear*365+zmm*30;
}
}outro{
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;
}outro{
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+"ano"+zmm+"mês"+"zero"+zdd+"dia";
}outro{
ptime = zmm+"mês"+"zero"+zdd+"dia";
}
}outro{
if (zyear! = 0) {
ptime = zyear+"ano"+"zero"+zdd+"dia";
}outro{
ptime = zdd+"dia";
}
}
}outro{
if (zmm! = 0) {
if (zyear! = 0) {
ptime = zyear+"ano"+zmm+"mês";
}outro{
ptime = zmm+"mês";
}
}outro{
if (zyear! = 0) {
ptime = zyear+"ano";
}outro{
ptime = null;
}
}
}
if (type == 1) {
retornar Ptime;
}outro{
return string.valueof (countddd);
}
}
/**
* Obtenha o número de meses
* @param ano ano diferença
* Diferença do mês @param
* @retornar
*/
public static int getcmm (ano inteiro, mês inteiro) {
int zmm = 0;
if (mês <0) {
zmm = (mês + 12) + (ano-1)*12;
} else if (mês == 0) {
zmm = ano*12;
}outro{
zmm = ano*12+mês;
}
retornar zmm;
}
/**
* Mude o horário atual
*/
Public Static Date alternou (tipo de string, int valor) {
Calendário calendário = calendário.getInstance (timezone.getDefault ());
if (type.equals ("mês")) {
calendário.set (calendário.month, calendar.get (calendar.month) + valor);
} else if (type.equals ("date")) {
calendar.set (calendário.date, calendário.get (calendar.date) + valor);
}
retorno calendário.gettime ();
}
/**
* Alterar o tempo
*/
Public Static Data alterou (data de data, tipo de string, int valor) {
if (data! = null) {
// calendário calendário = calendário.getInstance (timezone.getDefault ());
Calendário calendário = new Gregoriancalendar ();
calendário.setTime (data);
// calendário do calendário = calendário.
if (type.equals ("mês")) {
calendário.set (calendário.month, calendar.get (calendar.month) + valor);
} else if (type.equals ("date")) {
calendar.set (calendário.date, calendário.get (calendar.date) + valor);
} else if (type.endswith ("ano")) {
calendário.set (calendário.year, calendar.get (calendário.year) + valor);
}
retorno calendário.gettime ();
}
retornar nulo;
}
/**
* Haoxw compare se é o tempo entre esses dois momentos
*
* @param time1
* @param time2
* @retornar
*/
public static boolean checktime (string time1, string time2) {
Calendário calendário = calendário.getInstance ();
Data date1 = calendar.gettime ();
Data data11 = dateUtil.str2date (dateUtil.date2str (date1, "yyyy-mm-dd") + "" + time1); // horário de início
Calendário c = calendário.getInstance ();
c.Add (calendário.date, 1);
Data date2 = c.gettime ();
Data data22 = dateUtil.str2date (dateUtil.date2str (date2, "yyyy-mm-dd") + "" + time2); // tempo de terminação
Calendário scalendar = calendar.getInstance ();
scalendar.setTime (Date11); // Hora de início
Calendário elendar = calendar.getInstance ();
Elendar.setTime (Date22); // Tempo de terminação
Calendário calendarnow = calendar.getInstance ();
if (calendaNow.after (scalendar) && calendarnow.before (EqualEndar)) {
retornar true;
} outro {
retornar falso;
}
}
/**
* Haoxw compare se é o tempo entre esses dois momentos
*
* @param date11
* @param date22
* @retornar
*/
public static boolean checktime (data de data11, data date22) {
Calendário scalendar = calendar.getInstance ();
scalendar.setTime (Date11); // Hora de início
Calendário elendar = calendar.getInstance ();
Elendar.setTime (Date22); // Tempo de terminação
Calendário calendarnow = calendar.getInstance ();
if (calendaNow.after (scalendar) && calendarnow.before (EqualEndar)) {
retornar true;
} outro {
retornar falso;
}
}
public static boolean checkdate (string date1, string date2) {
Data Data11 = DateUtil.str2Date (Date1, "AAAA-MM-DD HH: MM: SS"); // Hora de início
Data data22 = dateUtil.str2date (date2, "AAAA-MM-DD HH: MM: SS"); // Tempo de terminação
Calendário scalendar = calendar.getInstance ();
scalendar.setTime (Date11); // Hora de início
Calendário elendar = calendar.getInstance ();
Elendar.setTime (Date22); // Tempo de terminação
Calendário 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 (calendaNow.after (scalendar) && calendarnow.before (EqualEndar)) {
retornar true;
} outro {
retornar falso;
}
}
/**
* Obtenha a data antes dos dias de intervalo
*
* intervalo @param
* @param starttime
* Padrão @param
* @retornar
*/
Data estática pública GetIntervaldate (intervalo de string, data de início da data, padrão de string) {
Calendário temp = calendário.getInstance ();
temp.setTime (StartTime);
temp.add (temp.date, inteiro.parseint (intervalo));
SimpledateFormat sdf = new SimpleDateFormat (padrão);
String shijian = sdf.format (temp.gettime ());
retornar str2date (Shijian);
}
public static date formatdate (data) {
SimpledateFormat BartDateFormat =
novo SimpleDateFormat ("AAAA-MM-DD");
System.out.println (BartdateFormat.Format (DATE));
SimpledateFormat BartdateFormat1 = new SimpleDateFormat ("AAAA-MM-DD");
tentar {
Data Data1 = BartdateFormat1.Parse (BartdateFormat.Format (DATE));
} catch (parseException e) {
E.PrintStackTrace ();
}
System.out.println (date.gettime ());
data de retorno;
}
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 ", new Date (), default_pattern));
Calendário calendário = calendário.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 =
novo SimpleDateFormat ("AAAA-MM-DD");
Data data = new Date ();
System.out.println ("date;"+bartdateFormat.format (data));
SimpledateFormat BartdateFormat1 = new SimpleDateFormat ("AAAA-MM-DD");
tentar {
Data Data1 = BartdateFormat1.Parse (BartdateFormat.Format (DATE));
System.out.println ("Data:"+Date1);
} catch (parseException e) {
E.PrintStackTrace ();
}
}
}