SimpleDateFormat
을 사용하여 날짜를 구문 분석하는 응용 프로그램이 있습니다. 갑자기 내 컴퓨터의 표시 시간 형식을 중국어 형식으로 변경 한 다음 다른 일을하기 위해 남겨 둡니다.표시 시간을 변경할 때 SimpleDateFormat이 충돌 함
몇 분 후에 응용 프로그램을 실행하기 위해 돌아 왔을 때, 어떤 이유로 "파싱 할 수없는 날짜"오류가 발생했습니다. 이것은 전에 결코 일어나지 않았다; 나는 새로운 코드를 전혀 소개하지 않았기 때문에 무엇이 잘못되었는지 궁금해하고있었습니다.
나는 그때 내 행동을 추적하고 시간 표시 형식을 변경했기 때문에 다시 변경했으며 응용 프로그램이 평상시처럼 실행됩니다.
이제 문서를 살펴보면 라이브러리가 로케일에 민감하다는 것을 알 수 있습니다. 다행히도이 응용 프로그램은 컴퓨터 설정을 완전히 제어 할 수있는 개인용으로 만 사용됩니다. 그러나 공공 소비를 위해 응용 프로그램을 배포하는 경우 환경에 대한 제어권이 없으므로 미국 시간 형식을 사용하지 않는 클라이언트가있는 경우 불만이 있습니다.
- 모든 datetime 파싱 라이브러리에서이 문제가 발생합니까?
- 로케일 감지 기능을 투명하게 처리하는 "로캘 구분 안 함"라이브러리가 있습니까? 그렇다면 무엇을 사용해야합니까?
- 이 동작으로 인해
SimpleDateFormat
을 완전히 피해야합니까?
내가 문제를 잘못 생각할 수도 있습니다. 라이브러리는 사람들이 다른 날짜 시간을 가지고 있다는 사실을 올바르게 처리하지만, 특정 형식이 필요할 것으로 예상되는 경우 로캘을 지정해야합니다. 그건 의미가 있습니다. – MxyL
@MxyL, 이것이 정확히 무엇을 의미합니다. 내 설명이 불명확하면 미안합니다. – AlexR