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 중국어 웹사이트의 기타 관련 기사를 참조하세요!