자바와 24 시간 문자열 비교

shahaf :

내가 좋아하는 24 시간의 다음과 같은 문자열 표현을 1423하고1956

(표준 시간대) 현재 시간이 한 쌍 사이에 있다면 내가 확인하고 싶습니다

나의 현재 솔루션은 사용 시간과 일의 분을 얻는다

int h = Instant.now().atZone(ZoneId.systemDefault()).getHour()
int t = Instant.now().atZone(ZoneId.systemDefault()).getMinute()

숫자에서 4 자리 문자열을 생성하고 문자열 비교를

나는 그것을 할 수있는 우아한 방법은 무엇입니까, 전혀 내 솔루션을 좋아하지 않아?

Eng.Fouad :

당신은 시간의 문자열 표현을 변환 할 수 있습니다 LocalTime다음과 같습니다 :

var formatter = DateTimeFormatter.ofPattern("HHmm");
var lowerTime = LocalTime.parse("1423", formatter);
var upperTime = LocalTime.parse("1956", formatter);

그럼 당신은 사용할 수 있습니다 isAfter()/ isBefore이 사이에 있는지 확인하는 방법 :

var nowTime = LocalTime.now(ZoneId.systemDefault());
boolean inBetween = nowTime.isAfter(lowerTime) && nowTime.isBefore(upperTime);

추천

출처http://43.154.161.224:23101/article/api/json?id=275854&siteId=1