simpledateformat ( "yyyy-mm-dd'hh : mm : ss'z '") 문제 : IST 타임 존
Java에서 SimpledateFormat 클래스를 사용하면 사전 정의 된 패턴에 따라 날짜를 형식화하고 구문 분석 할 수 있습니다. "yyyy-mm-dd't'hh : mm : ss'z '"패턴을 사용하면 UTC 시간대의 날짜와 시간을 나타낼 것으로 예상됩니다. 그러나 그러한 문자열을 구문 분석 할 때 문제가 발생합니다.
SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd'T'HH:mm:ss'Z'"); Date date = sdf.parse("2013-09-29T18:46:19Z"); System.out.println(date);
예상 출력은 UTC 시간대의 날짜와 시간입니다. 그러나 많은 사용자들이 대신 IST (Indian Standard Time) Timezon에 날짜와 시간을 표시한다고보고했습니다. 이것은 혼란과 잘못된 날짜 처리로 이어집니다.
솔루션 : SimpledateFormat 생성자는 날짜 패턴 만 초기화하지만 설정하지 않기 때문에 TimeZone
를 명시 적으로 설정합니다. 명시 적으로 시간대. 이를 수정하려면 시간대를 UTC로 수동으로 설정해야합니다.
SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd'T'HH:mm:ss'Z'"); sdf.setTimeZone(TimeZone.getTimeZone("GMT")); Date date = sdf.parse("2013-09-29T18:46:19Z"); System.out.println(date);simpledateformat sdf = new simpledateformat ( "yyyy-mm-dd'hh : mm : ss'z '"); sdf.settimezone (timezone.gettimezone ( "gmt")); 날짜 날짜 = sdf.parse ( "2013-09-29T18 : 46 : 19Z"); System.out.println (Date);
시간대를 GMT로 설정하여 SimpleDateFormat Parser는 입력 문자열을 올바르게 해석하고 예상 UTC 타임 존에 날짜와 시간을 표시합니다.
부인 성명: 제공된 모든 리소스는 부분적으로 인터넷에서 가져온 것입니다. 귀하의 저작권이나 기타 권리 및 이익이 침해된 경우 자세한 이유를 설명하고 저작권 또는 권리 및 이익에 대한 증거를 제공한 후 이메일([email protected])로 보내주십시오. 최대한 빨리 처리해 드리겠습니다.
Copyright© 2022 湘ICP备2022001581号-3