String date1 = “2017-04-06”;
String start = "2017-04";
String end = "2017-06";
java 计算data1是否在start和end之间。start和end即表示的是四月到六月
巴扎黑2017-04-18 10:55:56
이미 Java8에 대해 언급하신 분이 계시던데...이런 방식이 좀 어색하네요...기본적으로 다들 같은 생각이네요...
주어진 시작 시간을 당월 1일로 변경해야 합니다
제공되는 종료 시간을 당월 말일로 변경해야 합니다
어떻게 바꾸느냐가 관건인데... Java 8에는 호출할 수 있는 기성 API가 있는데... 파싱이 필요 없고... 첫날이 되어도 괜찮지만 많네요 문제부터 끝까지 심판...
주어진 조건에 따라 isBetween 메소드를 작성하면 다음과 같습니다
으아악간단한 설명...
yyyy-mm에는 연도 및 월 형식을 처리하는 새로운 클래스가 있습니다. 이것은 YearMonth
(TemporalAdjuster
의 구현 클래스입니다)입니다. LocalDate
의 구현 클래스인 Temporal
의 메소드는 실제로 Temporal
인터페이스의 with 메소드입니다. 이는 Java 8의 새로운 time API 설계와 관련됩니다. with 메소드 서명은 다음과 같습니다. >
의미: 개체는 Temporal
개체 TemporalAdjuster
에 따라 조정될 수 있습니다.
아LocalDate
에 따라 A를 수정합니다(with 메소드 호출). 즉, 시간의 연도와 월을 조정하고 시간 B를 가져옵니다YearMonth
(TemporalAdjuster
)에 따라 B를 넣고, 요일을 조정하여 최종 시간을 얻는다TemporalAdjusters.firstDayOfMonth
에 요약되어 있습니다... 또한 간단하고 직관적이며 사용하기 쉬운 이 클래스를 주목해 보세요 TemporalAdjusters
PHP中文网2017-04-18 10:55:56
end는 이번 달의 마지막 날로 변환되어야 합니다. 예를 들어 2017-06-30
또는 yyyy-mm
로 결정되면 yyyy-mm-dd
date.compareTo(start) >= 0 && date.compareTo(end) < 0
을 사용하세요.
2017-4-6