요구 사항이 있습니다. 방법을 구성하고 1990-12-31 00:00 00과 2013-12-31 00:00:00 사이의 시간대를 무작위로 생성하십시오.
아이디어는 다음과 같습니다. Java API에서 날짜 유형과 긴 유형은 변환하기가 매우 쉽기 때문에 문제를 두 개의 긴 유형 숫자 사이에서 값을 찾을 수 있습니다.
동시에, 당신은 다음을 이해해야합니다 : math.round (double) math.random (); 새로운 날짜 (연도, 월, 일); Java API의 캘린더.
Math.Random ()은 1보다 큰 임의의 이중 유형을 무작위로 생성합니다.
Math.Round (Double)는이 이중 유형에 가장 가까운 긴 유형을 반환하기 위해 이중 유형으로 통과해야합니다.
캘린더는 시간을 처리하는 도구 클래스입니다. 날짜와 마찬가지로 달력의 달은 0에서 계산됩니다.
특정 코드는 다음과 같습니다
public static string minandmax () {calendar calendar = calendar.getInstance (); // 1 Calendar.Set (1990,11,31)으로 달을 빼야합니다. calendar.gettime (). gettime (); // 요구 사항에 따라 시간, 분 및 두 번째는 0 Calendar.set (calendar.hour_of_day, 0)으로 설정해야합니다. calendar.set (calendar.minute, 0); calendar.set (calendar.second, 0); long min = calendar.gettime (). gettime () ;; Calendar.Set (2013,11,31); calendar.set (calendar.hour_of_day, 0); calendar.set (calendar.minute, 0); calendar.set (calendar.second, 0); calendar.gettime (). gettime (); long max = calendar.gettime (). gettime (); // 이중 값을 최대 최대 미보다 크거나 동일하게 얻습니다. 이중 랜덤 데이트 = math.random ()*(max-min)+min; // 이중 값을 정수로 반올림하여 긴 유형 캘린더로 변환합니다 .SetTimeInmillis (Math.Round (randomDate)); return calendar.gettime (). toString (); } 날짜 클래스를 사용하여 시간을 처리하려면 1900 년부터 연도가 시작되므로 1900을 빼야하고 달은 0에서 시작해야하므로 1을 빼야합니다. 예를 들어, 새 날짜 (2013, 10, 10)로 표시되는 날짜 객체는 3913 년 11 월 10 일입니다.
System.out.println (새 날짜 (2013,10,10));
결과는 다음과 같습니다. Mon 11 월 10 00:00:00 CST 3913
위의 문제를 약간 변경하십시오. Mindate와 MaxDate를 아는 것은이 시간 간격의 매일 목록에 배치해야합니다.
public static void getDateBetweenMaxandMin () {list <Date> list = new ArrayList <Date> (); 캘린더 캘린더 = calendar.getInstance (); Calendar.Set (2010,10,10); 날짜 mindate = calendar.gettime (); // 최소 시간 캘린더. 세트 (2013,11,1); 날짜 maxdate = calendar.gettime (); // 최대 시간 // 두 시점 사이에서 며칠 간격을 계산합니다. int totaldays = ints.checkedcast ((maxdate.gettime ()) - mindate.gettime ())/(1000 * 60 * 60 * 24); calendar.settime (Mindate); calendar.set (calendar.hour_of_day, 0); calendar.set (calendar.minute, 0); calendar.set (calendar.second, 0); for (int i = 0; i <= totaldays; i ++) {if (i! = 0) {// 1 calendar.add (calendar.day_of_month, 1); } list.add (calendar.gettime ()); }}위는이 기사의 모든 내용입니다. 모든 사람의 학습에 도움이되기를 바랍니다. 모든 사람이 wulin.com을 더 지원하기를 바랍니다.