>Java >java지도 시간 >SimpleDateFormat('yyyy-MM-dd'T'HH:mm:ss'Z'')가 때때로 GMT 대신 IST를 표시하는 이유는 무엇입니까?

SimpleDateFormat('yyyy-MM-dd'T'HH:mm:ss'Z'')가 때때로 GMT 대신 IST를 표시하는 이유는 무엇입니까?

DDD
DDD원래의
2024-12-05 19:14:10594검색

Why Does SimpleDateFormat(

SimpleDateFormat("yyyy-MM-dd'T'HH:mm:ss'Z'") 시간대 해석의 혼란

In java, SimpleDateFormat을 사용하면 사용자가 지정된 패턴을 사용하여 날짜를 구문 분석하고 형식을 지정할 수 있습니다. "yyyy-MM-dd'T'HH:mm:ss'Z'" 패턴을 사용하는 경우 'Z'는 GMT/UTC 시간대를 나타내는 것으로 예상됩니다. 그러나 결과 날짜가 예상 GMT 시간대가 아닌 IST 시간대를 표시한다는 우려가 있었습니다.

설명

패턴의 'Z' 문자는 실제로 GMT/UTC 시간대. 그러나 단순히 날짜/시간 문자열에 'Z'를 추가한다고 해서 값이 마법처럼 변경되는 것은 아니라는 점을 기억하는 것이 중요합니다. setTimeZone 메소드를 사용하여 SimpleDateFormat 객체에 대한 시간대를 명시적으로 설정해야 합니다.

문제 해결

출력 날짜에 GMT/UTC 시간대가 올바르게 반영되도록 하려면, 다음 줄을 사용하여 명시적으로 시간대를 GMT로 설정해야 합니다. 코드:

SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd'T'HH:mm:ss'Z'");
sdf.setTimeZone(TimeZone.getTimeZone("GMT"));

시간대를 설정하면 SimpleDateFormat 개체가 'Z'를 GMT/UTC로 올바르게 해석하고 원하는 시간대로 날짜를 표시합니다.

위 내용은 SimpleDateFormat('yyyy-MM-dd'T'HH:mm:ss'Z'')가 때때로 GMT 대신 IST를 표시하는 이유는 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.