안녕하세요, 저는 "2017-03-24 06:01:33"과 같은 날짜가있는 테이블을 UTC로 가지고 있습니다. 내 자바 프로그램에서 나는 그것을 문자열로 받아 들여야한다. 어떻게 클라이언트의 오프셋 시간과 분을 사용하여 로컬 날짜 문자열로 변환?UTC에서 현지 날짜로 변환
답변
내가 할 것이다 :
OffsetDateTime odt = LocalDateTime.parse(dateFromDb, DateTimeFormatter.ofPattern("uuuu-MM-dd HH:mm:ss"))
.atOffset(ZoneOffset.UTC);
String localDateString = odt.atZoneSameInstant(ZoneOffset.ofHoursMinutes(5, 30))
.toLocalDateTime()
.toString();
을 당신이 시간과 분의 오프셋으로 클라이언트의 시간대를 가지고 가정입니다. 그렇다면 ZoneOffset.ofHoursMinutes()
에서 해당 항목을 전달할 수 있습니다. 클라이언트 시간대에서 일년 중 일부 (예 : 미국 일 경우)의 서머 타임 (일광 절약 시간)을 사용하는 경우 날짜가 떨어지는 시간대의 오프셋을 가져야합니다. . 클라이언트 표준 시간대를 지정하는 다른 방법은 ZoneId.systemDefault()
또는 ZoneId.of("Asia/Kolkata")
입니다. 따라서 서머 타임 규칙을 알고 더 안전 할 수 있습니다.
코드가 인쇄 :
2017-03-24T11:31:33
당신은 예상대로 다섯 시간 반 앞서 입력 문자열의 알 수 있습니다.
시간이 아닌 날짜 만 필요한 경우 toLocalDateTime()
대신 toLocalDate()
을 사용하십시오.
위의 모든 경우에는 Java 8이 필요합니다. 또는 Java 8 날짜 및 시간 클래스의 백엔드를 Java 6 및 7로 변경하는 방법은 ThreeTen Backport을 참조하십시오. Java 8을 사용할 수없고 백 포트를 사용하지 않으려면 this question: Not able to parse UTC date time to EST local time에서 아이디어를 찾으십시오.
V.V 여기서 클라이언트의 오프셋 데이터는 어디에 있습니까? 나는 ZoneOffset.UTC가 서버의 오프셋을 취하기를 희망한다. – Virat
내 편집 내용에 @Sandesha가 설명되어 있습니까? 클라이언트에서 표준 시간대 문자열을 얻고 있습니까, 아니면 어떻게됩니까? –
현지 오프셋 분 및 오프셋 시간을 얻고 있습니다 ... "2017-03-24 06:01:33"UTC는 인도에서 현지 시간으로, 인도의 오프셋 시간은 5, 오프셋 분은 30 또는 미국에서 현지 날짜와 동일한 UTC 날짜를 표시해야하는 경우 USA 오프셋 시간 및 분을 가져옵니다. – Virat
사용이
simpleDateFormat.setTimeZone("Your-Client's-Timezone");
어떻게 사용합니까? UTC String "2017-03-24 06:01:33"과 "yyyy-mm-dd"형식으로 로컬 문자열을 가져 오는 방법은 무엇입니까? @Sandeep – Virat
@Sandesha, Javadocs에서 SimpleDateFormat을 확인 했습니까? –
Asker가 Java 8에서 더 프로그래머에게 친숙한 날짜 및 시간 클래스를 사용할 수있을 때 제 생각에 겸손한 의견으로 'SimpleDateFormat'과 같은 오래된/오래된 클래스를 제안해서는 안됩니다. –
- 1. 순간 UTC에서 현지 날짜 시간으로 변환
- 2. UTC에서 사용자의 현지 시간으로
- 3. Django 서버 날짜를 현지 날짜로 변환
- 4. JavaScript에서 UTC 날짜를 현지 날짜로 변환
- 5. UTC에서 현지 시간대로 변환 할 때 잘못된 결과가 나타납니다.
- 6. 날짜 시간 시간 변환 UTC에서 로컬 두번
- 7. ResultTable의 날짜를 utc에서 현지 시간으로 수정하십시오.
- 8. 각도 타이머 - UTC에서 현지 시간으로의 타임 스탬프?
- 9. 자바 스크립트는 UTC에서 현지 날짜 시간으로 변환합니다.
- 10. 변환 날짜와 시간을 UTC에서 MYSQL
- 11. UTC에서 Unix Timestamp로 변환
- 12. moment.js utc 날짜를 현지 날짜로 변환 할 수 없습니다.
- 13. SharePoint 날짜 전용 필드를 UTC에서 현지 시간으로 변환하는 방법
- 14. C# 어떻게 UTC 날짜 시간을 멕시코 날짜로 변환 하시겠습니까?
- 15. Oracle SQL : UTC에서 CST로 변환
- 16. Xaml에서 UTC DateTime을 현지 시간대로 변환 하시겠습니까?
- 17. J2ME 에뮬레이터 시스템 시간은 UTC에서 현지 시간으로 호스트합니다.
- 18. 다른 시간대에서 현지 시간대로 현지 시간대로 변환
- 19. GMT 날짜를 현지 날짜로 전환하는 방법
- 20. 현지 시간으로 변환
- 21. 현지 통화 문자열 변환
- 22. 시간을 현지 시간으로 변환
- 23. UTC에서 ANSI C 로의 시간?
- 24. Python UTC에서 PST/PDT 형식으로 변환
- 25. 하이브 - UTC에서 CSRT로 날짜의 수동 변환
- 26. DST로 UTC에서 미국 산악 시간으로 변환
- 27. PHP UTC에서 로컬 날짜/시간 형식으로 변환
- 28. NHibernate5 : 특정 종류없이 지속되는 날짜로 변환
- 29. 리팩터링 속도 : 날짜로 변환
- 30. GWT에서 문자열을 날짜로 변환
http://stackoverflow.com/questions/31395441/convert-utc-date-to-local-date – soorapadman