이 기사는 향후 참조에 일반적으로 사용되는 날짜를 비교하는 일반적인 방법을 공유합니다.
워밍업 : 현재 시간을 얻으십시오
simpledateformat df = new simpledateformat ( "yyyy-mm-dd hh : mm : ss"); // 날짜 형식 설정
String nowdate = df.format (new date ()); // new Date ()는 현재 시스템 시간을 얻는 것입니다.
참고 : 저자는 항상 날짜 유형이 문자열 유형만큼 좋지 않다고 생각했기 때문에 다음 비교는 문자열 유형의 날짜에 관한 것입니다. 당신이 정말로 너무 고집이 있다면, 좋아요, 날짜를 문자열로 변환하는 방법은 다음과 같습니다.
simpledateformat df = new simpledateformat ( "yyyy-mm-dd hh : mm : ss"); // 날짜 형식 설정
문자열 날짜 = df.format (날짜 유형 시간);
1. 두 문자열 유형의 날짜 크기 비교
public static int compare_date (문자열 날짜 1, 문자열 날짜 2) {dateformat df = new SimpledateFormat ( "yyyy-mm-dd hh : mm : ss"); try {date dt1 = df.parse (date1); 날짜 dt2 = df.parse (date2); if (dt1.gettime ()> dt2.gettime ()) {system.out.println ( "dt1 wefore dt2"); 반환 1; } else if (dt1.gettime () <dt2.gettime ()) {system.out.println ( "dt1이 dt2 이후"); 반품 -1; } else {return 0; }} catch (예외 예외) {exception.printstacktrace (); } 반환 0; } 2. 두 문자열 유형 날짜 사이에 다른 일 수를 반환합니다.
public static int daysbetween (String smdate, String bdate) {simpledateformat sdf = new SimpledateFormat ( "yyyy-mm-dd"); Calendar Cal = Calendar.getInstance (); 긴 시간 1 = 0; 긴 시간 2 = 0; try {cal.settime (sdf.parse (smdate)); time1 = cal.gettimeinmillis (); cal.settime (sdf.parse (bdate)); time2 = cal.gettimeinmillis (); } catch (예외 e) {e.printstacktrace (); } long mine _days = (time2-time1)/(1000*3600*24); return integer.parseint (string.valueof (사이)); }3. 두 문자열 유형에 따라 다른 시간 수를 반환합니다.
public static int daysbetween2 (문자열 starttime, String endtime) {simpledateformat sdf = new simpledateformat ( "yyyy-mm-dd hh"); Calendar Cal = Calendar.getInstance (); 긴 시간 1 = 0; 긴 시간 2 = 0; try {cal.settime (sdf.parse (starttime)); time1 = cal.gettimeinmillis (); cal.settime (sdf.parse (endtime)); time2 = cal.gettimeinmillis (); } catch (예외 e) {e.printstacktrace (); } long tye_days = (time2-time1)/(1000*3600); return integer.parseint (string.valueof (사이)); }4. 두 날짜의 겹치는 날짜를 계산하십시오
/ ** * 두 날짜 사이의 중복 날짜를 계산 * @param str1 시작 날짜 1 * @param str2 종료 날짜 1 * @param str3 시작 날짜 2 * @param str4 end date2 * @return * @throws 예외 */ public static map <string, object> comparisonrq (문자열 str1, 문자열 str3, 문자열 str4) 추력 예외 {string mesg = ""; dateformat df = new simpledateformat ( "yyyy-mm-dd"); 문자열 startDate = ""; 문자열 endDate = ""; try {date dt1 = df.parse (str1); 날짜 dt2 = df.parse (str2); 날짜 dt3 = df.parse (str3); 날짜 dt4 = df.parse (str4); if (dt1.gettime () <= dt3.gettime () && dt3.gettime () <= dt2.gettime () && dt2.gettime () <= dt4.gettime ()) {mesg = "f"; // coincid startDate = str3; enddate = str2; } if (dt1.gettime ()> = dt3.gettime () && dt3.gettime () <= dt2.gettime () && dt2.gettime () <= dt4.gettime ()) {mesg = "f"; // coincid startDate = str1; enddate = str2; } if (dt3.gettime () <= dt1.gettime () && dt1.gettime () <= dt4.gettime () && dt4.gettime () <= dt2.gettime ()) {mesg = "f"; // coincid startDate = str1; endDate = str4; } if (dt3.gettime () <= dt4.gettime () && dt4.gettime () <= dt2.gettime ()) {mesg = "f"; // coincid startdate = str1; endDate = str4; } if (dt3.gettime ()> = dt1.gettime () && dt1.gettime () <= dt4.gettime () && dt4.gettime () <= dt2.gettime ()) {mesg = "f"; // 우연의 startDate = str3; endDate = str4; } system.out.println (startDate+"----"+endDate); } catch (parseException e) {e.printstacktrace (); 새로운 parseexception을 던지십시오 (e.getMessage (), 0); } catch (예외 e) {e.printstacktrace (); 새로운 예외 (e)를 던지십시오. } map <String, object> map = new Hashmap <String, Object> (); map.put ( "startDate", startDate); map.put ( "enddate", enddate); 리턴 맵; }위는이 기사의 모든 내용입니다. 모든 사람의 학습에 도움이되기를 바랍니다. 모든 사람이 wulin.com을 더 지원하기를 바랍니다.