La copie de code est la suivante:
import java.text.parseException;
import java.text.simpledateFormat;
import java.util.calendar;
Importer java.util.date;
import java.util.gregoriancalendar;
Importer Java.util.TimeZone;
/ **
* Fonction de traitement du temps
*
* @ 20080509 15:50
* /
classe publique DateUtil {
chaîne finale statique privée 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 (intervalle de chaîne, date de démarrage, modèle de chaîne) {
Calendar temp = calendar.getInstance (timezone.getDefault ());
Temp.settime (starttime);
Temp.Add (Temp.month, Integer.ParseInt (intervalle));
SimpledateFormat sdf = new SimpledateFormat (modèle);
return sdf.format (temp.getTime ());
}
/ **
* Convertir le type de chaîne en type de temps
*
* @retour
* /
Date statique publique str2Date (String str) {
Date d = null;
SimpledateFormat sdf = new SimpledateFormat (default_pattern);
essayer {
d = sdf.parse (str);
} catch (exception e) {
e.printStackTrace ();
}
retour d;
}
Date statique publique Str2Date (String Str, modèle de chaîne) {
Date d = null;
SimpledateFormat sdf = new SimpledateFormat (modèle);
essayer {
d = sdf.parse (str);
} catch (exception e) {
e.printStackTrace ();
}
retour d;
}
/ **
* Formatez l'heure
*
* @retour
* /
Date de date statique publique (date de date) {
SimpledateFormat sdf = new SimpledateFormat (default_pattern);
essayer {
String dd = sdf.format (date);
date = str2Date (dd);
} catch (exception e) {
e.printStackTrace ();
}
date de retour;
}
/ **
* Formatez l'heure
* /
Date de date statique publique (date de date, modèle de chaîne) {
SimpledateFormat sdf = new SimpledateFormat (modèle);
essayer {
String dd = sdf.format (date);
date = str2Date (dd, modèle);
} catch (exception e) {
e.printStackTrace ();
}
date de retour;
}
Public Static String Date2str (date de date) {
SimpledateFormat sdf = new SimpledateFormat (default_pattern);
return sdf.format (date);
}
Public Static String Date2str (date de date, format de chaîne) {
SimpledateFormat sdf = new SimpledateFormat (format);
return sdf.format (date);
}
/ **
* Obtenez hier
*
* @param date
* @retour
* @throws exception
* /
Date statique publique getLastDate (date de date) {
Calendar Calendar = Calendar.getInstance (timezone.getDefault ());
calendar.settime (date);
calendar.add (calendar.date, -1);
return str2Date (date2str (calendar.getTime ()));
}
/ **
* Obtenez-le il y a quelques jours
* @param date
* @retour
* /
Date statique publique GetBeforedate (date de date, dates int) {
Calendar Calendar = Calendar.getInstance (timezone.getDefault ());
calendar.settime (date);
calendar.add (calendar.date, -dates);
return str2Date (date2str (calendar.getTime ()));
}
/ **
* Obtenez le premier jour de la semaine dernière (lundi)
*
* @param date
* @retour
* @throws exception
* /
Date statique publique GetLastWeekStart (date de date) {
Calendar Calendar = Calendar.getInstance (timezone.getDefault ());
calendar.settime (date);
int i = calendar.get (calendar.day_of_week) - 1;
int startNum = 0;
if (i == 0) {
startNum = 7 + 6;
} autre {
startnum = 7 + i - 1;
}
calendar.add (calendar.date, -startnum);
return str2Date (date2str (calendar.getTime ()));
}
/ **
* Obtenez le dernier jour de la semaine dernière (week-end)
*
* @param date
* @retour
* @throws exception
* /
Date statique publique GetLastWeekend (date de date) {
Calendar Calendar = Calendar.getInstance (timezone.getDefault ());
calendar.settime (date);
int i = calendar.get (calendar.day_of_week) - 1;
int endnum = 0;
if (i == 0) {
endnum = 7;
} autre {
endnum = i;
}
calendar.add (calendar.date, - (endnum - 1));
return str2Date (date2str (calendar.getTime ()));
}
/ **
* Obtenez des jours en fonction de l'année et du mois
* @param num mois
* @param l'année
* @retour
* /
public static int getday (int num, int an) {
if (num == 1 || num == 3 || num == 5 || num == 7 || num == 8 || num == 10 || num == 12) {
retour 31;
} else if (num == 2) {
// juger si c'est une année de saut
if (année% 400 == 0 || (année% 4 == 0 && année% 100! = 0)) {
retour 29;
}autre{
retour 28;
}
}autre{
retour 30;
}
}
/ *
* Calculez combien de jours il y a à la date en cours le mois prochain
* /
public static int getdaymis (date de date) {
int year = Integer.Parseint (
Nouveau SimpledateFormat (Time_year) .Format (Time)); // année
int mm = Integer.Parseint (
Nouveau SimpledateFormat (Time_monen) .Format (Time)); // mois
int dd = Integer.Parseint (
nouveau simpledateFormat (time_day) .format (heure)); // jour
// obtient le nombre total de jours au cours de l'année et du mois en cours
int sdd = getday (mm, année);
retourner sdd-dd;
}
/ **
* Nombre de date de secondes
* @param datestring
* @retour
* /
public static long gettime (string datestring) {
long temps = 0;
essayer {
Date ret = null;
SimpledateFormat sdf = new SimpledateFormat ("yyyy-mm-dd hh: mm: ss");
ret = sdf.parse (datestring);
Time = ret.getTime () / 1000;
} catch (exception e) {
}
heure de retour;
}
/ **
* Calculez avec précision le décalage horaire, précis à la journée
* @Param Fistill Date de début
* @param maintenant date de fin
* Le type de type @param est de 1 et revient l'année, le mois et le jour (tels que: 2 ans, 3 mois et 5 jours) Sinon, renvoyez le nombre total de jours
* @retour
* /
Patienage de chaîne statique publique (date Fistill, date maintenant, type entier) {
int combat = Integer.Parseint (
new SimpledateFormat (time_year) .format (fistill)); // première année
int fmm = Integer.Parseint (
new SimpledateFormat (time_monen) .format (fistill)); // premier mois
int fdd = Integer.Parseint (
Nouveau SimpledateFormat (Time_day) .Format (Fistill)); // Première date
int nyear = Integer.Parseint (
Nouveau SimpledateFormat (Time_year) .Format (NowTime)); // Fin Year
int nmm = Integer.Parseint (
new SimpledateFormat (time_monen) .format (maintenant temps)); // fin mois
int ndd = Integer.Parseint (
new SimpledateFormat (time_day) .format (maintenant temps)); // Date de fin
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;
}autre{
zyear = cinar;
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 = cinar;
zmm = 0;
zdd = 0;
countddd = zyear * 365 + zmm * 30;
}autre{
zyear = cinar;
zmm = cmmm;
zdd = 0;
countddd = zyear * 365 + zmm * 30;
}
}autre{
if (cm <0) {
Zyear = Cyear - 1;
zmm = cmmm + 12;
zdd = cdd;
countddd = zyear * 365 + zmm * 30 + zdd;
} else if (cmm == 0) {
zyear = cinar;
zmm = 0;
zdd = cdd;
countddd = zyear * 365 + zmm * 30 + zdd;
}autre{
zyear = cinar;
zmm = cmmm;
zdd = cdd;
countddd = zyear * 365 + zmm * 30 + zdd;
}
}
String ptime = null;
if (zdd! = 0) {
if (zmm! = 0) {
if (zyear! = 0) {
ptime = zyear + "année" + zmm + "mois" + "zéro" + zdd + "day";
}autre{
ptime = zmm + "mois" + "zéro" + zdd + "jour";
}
}autre{
if (zyear! = 0) {
ptime = zyear + "année" + "zéro" + zdd + "jour";
}autre{
ptime = zdd + "jour";
}
}
}autre{
if (zmm! = 0) {
if (zyear! = 0) {
ptime = zyear + "année" + zmm + "mois";
}autre{
ptime = zmm + "mois";
}
}autre{
if (zyear! = 0) {
ptime = zyear + "année";
}autre{
ptime = null;
}
}
}
if (type == 1) {
Retour ptime; // retour à l'année, au mois et au jour (comme: 2 ans, 3 mois et 5 jours)
}autre{
retour string.valueof (countddd);
}
}
/ **
* Obtenez le nombre de mois
* @param l'année de la différence
* @Param Mois Différence
* @retour
* /
public static int getcmm (année entière, mois entier) {
int zmm = 0;
if (mois <0) {
zmm = (mois + 12) + (année-1) * 12;
} else if (mois == 0) {
zmm = an * 12;
}autre{
zmm = an * 12 + mois;
}
retourner zmm;
}
/ **
* Modifier l'heure actuelle
* /
Date statique publique SOGODATE (Type de chaîne, valeur int) {
Calendar Calendar = Calendar.getInstance (timezone.getDefault ());
if (type.equals ("mois")) {
calendar.set (calendar.month, calendar.get (calendar.month) + valeur);
} else if (type.equals ("date")) {
calendar.set (calendar.date, calendar.get (calendar.date) + valeur);
}
return Calendar.getTime ();
}
/ **
* Changer l'heure
* /
Date statique publique SORGE (Date de date, type de chaîne, valeur int) {
if (date! = null) {
// Calendar Calendar = Calendar.getInstance (Timezone.getDefault ());
Calendrier calendrier = nouveau GregorianCalendar ();
calendar.settime (date);
// Calendrier Calendrier = calendrier.
if (type.equals ("mois")) {
calendar.set (calendar.month, calendar.get (calendar.month) + valeur);
} else if (type.equals ("date")) {
calendar.set (calendar.date, calendar.get (calendar.date) + valeur);
} else if (type.endswith ("année")) {
calendar.set (calendar.year, calendar.get (calendar.year) + valeur);
}
return Calendar.getTime ();
}
retourner null;
}
/ **
* haoxw compare si le temps est entre ces deux points de temps
*
* @param time1
* @param time2
* @retour
* /
Public Static Boolean Checktime (String Time1, String Time2) {
Calendar Calendar = calendar.getInstance ();
Date Date1 = Calendar.GetTime ();
Date Date11 = DateUtil.str2Date (dateUtil.date2str (Date1, "Yyyy-mm-dd") + "" + heure1); // heure de début
Calendrier c = calendar.getInstance ();
c.Add (calendar.date, 1);
Date Date2 = C.GetTime ();
Date Date22 = DateUtil.str2Date (dateUtil.date2str (Date2, "Yyyy-mm-dd") + "" + time2); // heure de résiliation
Calendar Scalendar = calendar.getInstance ();
Scalendar.SetTime (Date11); // Heure de début
Calendar elendar = calendar.getInstance ();
elendar.settime (date22); // heure de résiliation
Calendar calendarnow = calendar.getInstance ();
if (calendarnow.after (scatendar) && calendarnow.before (égalise)) {
Retour Vrai;
} autre {
retourne false;
}
}
/ **
* haoxw compare si le temps est entre ces deux points de temps
*
* @param date11
* @param date22
* @retour
* /
Public Static Boolean Checktime (Date Date11, date de date 22) {
Calendar Scalendar = calendar.getInstance ();
Scalendar.SetTime (Date11); // Heure de début
Calendar elendar = calendar.getInstance ();
elendar.settime (date22); // heure de résiliation
Calendar calendarnow = calendar.getInstance ();
if (calendarnow.after (scatendar) && calendarnow.before (égalise)) {
Retour Vrai;
} autre {
retourne false;
}
}
Public Static Boolean Checkdate (String Date1, String Date2) {
Date Date11 = DateUtil.str2Date (Date1, "Yyyy-mm-dd HH: MM: SS"); // Heure de début
Date Date22 = DateUtil.str2Date (Date2, "Yyyy-mm-dd HH: MM: SS"); // Heure de résiliation
Calendar Scalendar = calendar.getInstance ();
Scalendar.SetTime (Date11); // Heure de début
Calendar elendar = calendar.getInstance ();
elendar.settime (date22); // heure de résiliation
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 (scatendar) && calendarnow.before (égalise)) {
Retour Vrai;
} autre {
retourne false;
}
}
/ **
* Obtenez la date avant les jours d'intervalle
*
* intervalle @param
* @param starttime
* motif @param
* @retour
* /
Date statique publique getInterValdate (intervalle de chaîne, date de démarrage, modèle de chaîne) {
Calendaire temp = calendar.getInstance ();
Temp.settime (starttime);
Temp.Add (Temp.Date, Integer.ParseInt (Interval));
SimpledateFormat sdf = new SimpledateFormat (modèle);
String shijian = sdf.format (temp.getTime ());
retour str2Date (Shijian);
}
Date statique publique Formatdate (date de date) {
SimpledateFormat BartDateFormat =
new SimpledateFormat ("yyyy-mm-dd");
System.out.println (bartDateFormat.format (date));
SimpledateFormat bartDateFormat1 = new SimpledateFormat ("Yyyy-mm-dd");
essayer {
Date Date1 = BartDateFormat1.Parse (BartDateFormat.Format (Date));
} catch (paSeException e) {
e.printStackTrace ();
}
System.out.println (date.getTime ());
date de retour;
}
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.getIntervalate("-3 ", new Date (), default_pattern));
Calendar Calendar = 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 =
new SimpledateFormat ("yyyy-mm-dd");
Date de date = new Date ();
System.out.println ("Date;" + BartDateFormat.Format (Date));
SimpledateFormat bartDateFormat1 = new SimpledateFormat ("Yyyy-mm-dd");
essayer {
Date Date1 = BartDateFormat1.Parse (BartDateFormat.Format (Date));
System.out.println ("Date:" + Date1);
} catch (paSeException e) {
e.printStackTrace ();
}
}
}