중국 표준시 (CST)의 의미에 대한 제안을 @BasilBourque에
java.util.Date date = (java.util.Date) doc.getFieldValue("modifyTime");
DateTime dateTimeUtc = new DateTime(date, DateTimeZone.UTC);
String output = dateTimeUtc.toString();
편집
감사
answer by Alfredo가 정확하지만, 하나의 가정. 그 대답은 중부 표준시를 언급하지만 그 구역은 의 뒤에 UTC (7 또는 6 시간) 인 반면 질문의 데이터는 의 앞에 UTC입니다. 그래서 여기에 CST
은 China Standard Time을 가리키며 UTC보다 8을 가리키는 것으로 추정됩니다.
이 혼란은 왜 CST
과 같은 3-4 자 약어를 사용해서는 안되는지를 보여줍니다. 표준 시간대가 아닌 표준 시간대가 아니며 고유하지도 않습니다 (여기에서 알 수 있듯이). 대신 continent/region
형태로 proper tz/IANA time zones을 사용하십시오.
java.time
문제는 이전 날짜 - 시간 클래스의 사용이다. 이러한 저조한 설계와 악명 높은 클래스는 Java 8 이상에서 java.time 프레임 워크로 대체되었습니다.
그 문자열은 Instant
에 의해 직접 구문 분석되어 UTC의 값을 가져야합니다.
Instant instant = Instant.parse("2016-04-20T13:58:35.805Z");
전화 toString
는 ISO 8601 표준에 따라 형식이 다시 문자열의 같은 종류를 얻을 수 있습니다.
특정 지역의 렌즈 wall-clock time을 통해 동일한 시간대를 보려면 시간대를 적용하십시오. ZoneId
을 적용하여 ZonedDateTime
개체를 가져옵니다.America/Montreal
의 예를 들어
는 벽 시계 시간은 UTC로 4 시간입니다, 그래서 시간은 09
대신 13
입니다.
ZoneId zoneId = ZoneId.of("America/Montreal");
ZonedDateTime zdt = instant.atZone(zoneId);
2016-04-20T09 : 58 : 35.805-04 : 00 [미국/몬트리올]
모두 Instant
ZonedDateTime
및 타임 라인에 동시에 동일한 점을 나타낸다.
두 컴퓨터 (Solr과 로컬 컴퓨터를 호스팅하는 컴퓨터)에서 다른 표준 시간대를 사용하고 로컬 컴퓨터가 CST를 기본 표준 시간대로 사용하기 때문에 Solr 컴퓨터의 기본 표준 시간대를 확인할 수 있습니까? – NAIT