일부 XML 파일로 작성된 타임 스탬프를 구문 분석하려고합니다. 대부분 시간 기록은 2009-07-22-07 : 00과 비슷하지만 때로는 2009-07-22Z 또는 2009-07-22z과 같은 것을 찾을 수 있습니다. 이 Z를 해석하는 방법과 구문을 분석하는 방법을 알려주세요. 이 z 또는 Z는 시간대와 관련이 있습니다. 일반적인 타임 스탬프처럼 구문 분석 할 수있는 해결 방법은 무엇입니까?이 타임 스탬프를 해석하는 방법은 무엇입니까?
답변
가 FVU의 대답에 추가하려면 는 : 자바는 불행하게도 어떤 구문 분석하는 기본 방법 (또는 형식 ISO8601 날짜 및 시간 형식을 가지고 있지 않으며, 더욱 불행하게도 java.text.SimpleDateFormat
와 ISO8601 날짜를 구문 분석 (쉽게) 할 수 없습니다
잘 알려진 인기 Joda Time 라이브러리는 ISO8601 날짜와 시간에 대한 좋은 지원을 가지고
편집 :. 자바 5 이후, 구문 분석 할 수있는 표준 API의 클래스 및 형식의 날짜와 시간은 표준에있다 XML 문서에서 자주 사용되는 형식. 날짜를 구문 분석하려면 :
import java.util.Calendar;
import java.util.Date;
import javax.xml.datatype.DatatypeFactory;
import javax.xml.datatype.XMLGregorianCalendar;
// ...
String dateString = "..."; // wherever you get this from
XMLGregorianCalendar xcal = DatatypeFactory.newInstance().newXMLGregorianCalendar(dateString);
Calendar cal = xcal.toGregorianCalendar();
Date date = cal.getTime();
마찬가지로 날짜를 문자열로 포맷하는 방법이 있습니다. 자세한 내용은 해당 클래스의 API 설명서를 참조하십시오.
정확합니다. 후행 문자는 시간대를 나타냅니다.
Z는 "줄 루어"표준 시간대를 나타내며 이는 UTC (또는 GMT) 표준 시간대의 약식입니다.
후미 + X 또는 -X가 나타날 수도 있습니다. 이것은 타임 스탬프의 GMT 오프셋을 참조합니다. 예 : 2002-05-30+06:00
은 GMT + 6 시간 0 분을 나타냅니다.
몇 가지 닉픽. 1) ISO-8601을 기반으로 날짜를 지정하는 XML 스키마입니다. 기본 XML 사양 (및 DOM 및 파서)에는 데이터 형식에 대한 개념이 없습니다. 2) XML 스키마의 시간 및 지속 시간 유형은 ISO-8601만을 기반으로합니다. XML 스키마 스펙을 자세히 읽으면 미묘한 차이가 있음을 알 수 있습니다. –
@Stephen - 사실, 당신 말이 맞습니다. 이러한 편차에 대한 개요는 http://www.w3.org/TR/xmlschema-2/#isoformats를 참조하십시오. – fvu
- 1. 이 어셈블리를 해석하는 방법은 무엇입니까?
- 2. 안드로이드에서 타임 스탬프를 날짜로 변환하는 방법은 무엇입니까?
- 3. OutputDebugString()에 타임 스탬프를 추가하는 방법은 무엇입니까?
- 4. 열의 최신 타임 스탬프를 얻는 방법은 무엇입니까?
- 5. PHP에서 MySQL 타임 스탬프를 증가시키는 방법은 무엇입니까?
- 6. 이 레일스 에러를 해석하는 방법은 무엇입니까?
- 7. 이 날짜 값을 해석하는 방법은 무엇입니까?
- 8. MSBuild에서 타임 스탬프를 출력하는 방법
- 9. 타임 스탬프를 빼는 것
- 10. NTFS 타임 스탬프를 FAT 타임 스탬프로 변환
- 11. 웹 페이지에서 타임 스탬프를 받으시겠습니까?
- 12. 유닉스 타임 스탬프를 시간으로 변환하기
- 13. 유닉스 타임 스탬프를 hhmmss로 변환하는 방법?
- 14. 파이썬에서 gzip 타임 스탬프를 설정하십시오.
- 15. mysql에서 특정 타임 스탬프를 간단히 업데이트하는 방법은 무엇입니까?
- 16. 유닉스 타임 스탬프를 int 열에 저장하는 방법은 무엇입니까?
- 17. WCF "wsHTTPBinding"에서 타임 스탬프를 비활성화하는 방법은 무엇입니까?
- 18. 사전에서 타임 스탬프를 검색하고이를 datetime 객체로 변환하는 방법은 무엇입니까?
- 19. VC++ 프로젝트에 빌드 타임 스탬프를 포함시키는 방법은 무엇입니까?
- 20. SQLite3에서 사람이 읽을 수있는 형식으로 타임 스탬프를 인쇄하는 방법은 무엇입니까?
- 21. MYSQL 타임 스탬프를 time_t로 변환하십시오.
- 22. 먼저 타임 스탬프를 확인 하시겠습니까?
- 23. SQL : 타임 스탬프를 사용하여 업데이트
- 24. 레일스에서 타임 스탬프를 언제 사용합니까?
- 25. 코코아의 파일에서 타임 스탬프를 읽으시겠습니까?
- 26. UNIX 타임 스탬프를 MySQL에 DATETIME
- 27. appengine은 타임 스탬프를 기반으로 선택합니다.
- 28. 타임 스탬프를 PHP와 비교하고 있습니까?
- 29. 이 타임 스탬프를 Ruby의 MySQL DATETIME 객체로 변환하려면 어떻게해야합니까?
- 30. 유닉스 타임 스탬프를 포맷하는 mysql 함수가 있나요?
그가 말한 것. 그냥 Joda 시간을 사용하면 몇 시간 안에 위의 포스터에 감사 할 것입니다. – Gaurav
자세한 솔루션을 주셔서 감사합니다 – Ram
그것은 "정적이 아닌 메서드 newXMLGregorianCalendar (java.lang.String) 정적 컨텍스트에서 참조 할 수 없습니다"고 말합니다. 죄송합니다. Java에 대한 초보자입니다. 이 주변의 작업은 무엇입니까? – Ram