English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية
Questo articolo condivide con voi tutti i metodi di confronto tra date comuni, da riferimento in futuro.
Riscaldamento:Ottieni l'ora corrente
SimpleDateFormat df = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");//Impostare il formato della data
String nowDate = df.format(new Date());// new Date() per ottenere l'ora del sistema corrente
Nota: Il signore ha sempre pensato che il tipo di dato date non sia così flessibile come il tipo di dato stringa, quindi le seguenti confronti sono tutti date di tipo stringa. Se sei davvero così testardo, ok, ecco il metodo per convertire date in stringa:
SimpleDateFormat df = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");//Impostare il formato della data
String date = df.format(Date tipo di tempo);
1. Confrontare due date di tipo stringa
public static int compare_date(String DATE1, String DATE2) { DateFormat df = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss"); try { Date dt1 = df.parse(DATE1); Date dt2 = df.parse(DATE2); if (dt1.getTime() > dt2.getTime()) { System.out.println("dt1 prima di dt2"); return 1; } else if (dt1.getTime() < dt2.getTime()) { System.out.println("dt1 in seguito a dt2"); return -1; } else { return 0; } } catch (Exception exception) { exception.printStackTrace(); } return 0; }
2. Restituisce il numero di giorni di differenza tra due date di tipo stringa
public static int daysBetween(String smdate,String bdate){ SimpleDateFormat sdf=new SimpleDateFormat("yyyy-MM-dd"); Calendar cal = Calendar.getInstance(); long time1 = 0; long time2 = 0; try{ cal.setTime(sdf.parse(smdate)); time1 = cal.getTimeInMillis(); cal.setTime(sdf.parse(bdate)); time2 = cal.getTimeInMillis(); }catch(Exception e){ e.printStackTrace(); } long between_days=(time2-time1)/(1000*3600*24); return Integer.parseInt(String.valueOf(between_days)); }
3. Restituisce l'ora di differenza tra due date di tipo stringa
public static int daysBetween2(String startTime, String endTime) { SimpleDateFormat sdf=new SimpleDateFormat("yyyy-MM-dd HH"); Calendar cal = Calendar.getInstance(); long time1 = 0; long time2 = 0; try{ cal.setTime(sdf.parse(startTime)); time1 = cal.getTimeInMillis(); cal.setTime(sdf.parse(endTime)); time2 = cal.getTimeInMillis(); }catch(Exception e){ e.printStackTrace(); } long between_days=(time2-time1)/(1000*3600); return Integer.parseInt(String.valueOf(between_days)); }
4. Calcola le date sovrapposte di due periodi
/** * Calcola le date sovrapposte di due periodi * @param str1 Data di inizio 1 * @param str2 Data di fine 1 * @param str3 Data di inizio 2 * @param str4 Data di fine 2 * @return * @throws Exception */ public static Map<String,Object> comparisonRQ(String str1, String str2, String str3, String str4) throws Exception { String mesg = ""; DateFormat df = new SimpleDateFormat("yyyy-MM-dd"); String startdate = ""; String enddate = ""; try { Date dt1 = df.parse(str1); Date dt2 = df.parse(str2); Date dt3 = df.parse(str3); Date dt4 = df.parse(str4); se dt1.getTime() <= dt3.getTime() && dt3.getTime() <= dt2.getTime() && dt2.getTime() <= dt4.getTime() { mesg = "f";//sovrapposizione startdate = str3; enddate = str2; } se dt1.getTime() >= dt3.getTime() && dt3.getTime() <= dt2.getTime() && dt2.getTime() <= dt4.getTime() { mesg = "f";//sovrapposizione startdate = str1; enddate = str2; } se dt3.getTime() <= dt1.getTime() && dt1.getTime() <= dt4.getTime() && dt4.getTime() <= dt2.getTime() { mesg = "f";//sovrapposizione startdate = str1; enddate = str4; } if (dt3.getTime()>=dt1.getTime()&&dt1.getTime()<=dt4.getTime()&&dt4.getTime()<=dt2.getTime()) { mesg = "f";//sovrapposizione startdate = str3; enddate = str4; } System.out.println(startdate+"----"+enddate); }catch (ParseException e) { e.printStackTrace(); throw new ParseException(e.getMessage(), 0); }catch(Exception e){ e.printStackTrace(); throw new Exception(e); } Map<String,Object> map = new HashMap<String,Object>(); map.put("startdate", startdate); map.put("enddate", enddate); return map; }
Questo è tutto il contenuto dell'articolo, speriamo che sia utile per la tua apprendimento, e ti preghiamo di supportare e gridare le lezioni.
Dichiarazione: il contenuto di questo articolo è stato tratto da Internet, il copyright spetta ai rispettivi autori, il contenuto è stato contribuito e caricato autonomamente dagli utenti di Internet, questo sito non detiene i diritti di proprietà, non è stato editato manualmente e non assume responsabilità legali correlate. Se trovi contenuti sospetti di violazione del copyright, ti preghiamo di inviare una e-mail a notice#oldtoolbag.com (sostituisci # con @) per segnalare, fornendo prove pertinenti. Una volta verificata, questo sito eliminerà immediatamente i contenuti sospetti di violazione del copyright.