php 편집기 Xiaoxin은 이 기사에서 Java의 LocalDate.parse 및 ResolverStyle.STRICT에 대한 문제를 소개합니다. 아시아나 홍콩에서 이러한 방법을 사용하면 예상치 못한 결과가 나타날 수 있습니다. 우리는 이 문제를 탐구하고 해결책을 제시할 것입니다.
내 입력은 19.12.0009이고 예상 값은 dec 19 00:00:00 hkt 9이지만 반환된 결과는 dec 21 00:23:18 hkt 9입니다. 이유는 무엇입니까? 코드는 다음과 같습니다:
DateTimeFormatter formatter = DateTimeFormatter.ofPattern("dd.MM.uuuu") .withResolverStyle(ResolverStyle.STRICT); LocalDate localDate = LocalDate.parse("19.12.0009", formatter); Instant instant = Instant.from(localDate.atStartOfDay(ZoneId.of("Asia/Hong_Kong"))); Date resultDate = Date.from(instant); System.out.println("resultDate" + resultDate);
zonerules에는 여기서 문제가 아닌 savingslocaltransitions
。我发现由于某种原因(可能是历史原因), "asia/hong_kong"
本地转换中的节省从 1904-10-30t00:36:42
开始。 resolverstyle.strict
을 사용한 변환 개념이 있습니다!
그래서 보셨군요00:23:18 hkt 9
.
코드를 변경하는 경우 예:
으아아아예상 출력:
으아아아위 내용은 아시아/홍콩의 경우 LocalDate.parse 및 ResolverStyle.STRICT가 예기치 않은 결과를 반환합니다.의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!