2013-06-24 2 views
2

필드 유형 java.util.date 및 im에서 to.string() 값 가져 오기 토요일 Sep 14 00:00:00 IDT 2013과 같은 다른 날짜 형식으로 변환하지만 얻을 필요가 있습니다. EDM 형식 인 다른 형식으로 (2013-09-12T14 : 00)입니다. 간단한 방법이 있습니까?날짜 형식을 edm

감사합니다.

+0

간단한 방법 - 'SimpleDateFormat'. –

+0

어떻게? 개체에서 가져 오는 및 날짜에 캐스팅, 어떻게 간단한 날짜 형식을 사용해야합니까? –

+0

@JeanTennie 너희들이 내가 똑같은 재미있는 자바 스크립트를 어떻게 할 수 있는지 알려줄 수 있니? –

답변

2

SimpleDateFormat을 사용하십시오 (좋은 지침서는 here입니다).

String firstPartOfPattern = "yyyy-MM-dd"; 
String secondPartOfPattern = "HH:mm:ss"; 
SimpleDateFormat sdf1 = new SimpleDateFormat(firstPartOfPattern); 
SimpleDateFormat sdf2 = new SimpleDateFormat(secondPartOfPattern); 
String formattedDate = sdf1.format(date) + "T" + sdf2.format(date); 
: 24 21시 46분 22초 2013

는 EDM 형식으로 변환하려면 BST 다음을 수행

월 6월을 :

Date date = new Date(); 
System.out.println(date); 

출력이 예를 생각해

formattedDate의 형식은 다음과 같습니다.

2013-06-24T21 : 46 : 22

+0

대단히 감사합니다 !!!! –

+0

이 답변은 현재 구식 인 오래된 구식 날짜 시간 클래스를 사용하며 java.time 클래스로 대체되었습니다. –

1

편집 : 자바 8 이상에서 더 이상 SimpleDateFormat를 사용하지 말아야 언급 한 바와 같이!

또한 단계 샘 설명을 단순화 할 수 있습니다

String pattern = "yyyy-MM-dd'T'HH:mm:ss"; 
SimpleDateFormat sdf = new SimpleDateFormat(pattern); 
String formattedDate = sdf.format(date); 
+1

이 답변은 현재 구식 인 오래된 구식 날짜 시간 클래스를 사용하며 java.time 클래스로 대체되었습니다. –

+0

당신이 틀림 없음! – coffeemakr

1

TL; DR

myUtilDate.toInstant().toString() 

2017-01-23T01 : 23 : 45.123Z

ISO 8601

원하는 형식은 ISO 8601 표준에 정의되어 있습니다.

java.time 클래스는 문자열을 파싱하거나 생성 할 때 기본적으로 ISO 8601 형식을 사용합니다.

java.time java.time 클래스에 의해 대체 등 지금 레거시 있습니다 Date로 오래된 골칫거리 된 날짜 - 시간 클래스를 사용하여

피를.

이전 클래스에 추가 된 새로운 메소드를 사용하여 Date 오브젝트를 java.time으로 변환하십시오. Date에 대한 현대 대응 물은 UTC의 타임 라인에서 잠시 동안은 밀리 초가 아니라 나노초의 더 미세한 해상도로 잠시 동안 Instant입니다.

Instant instant = myUtilDate.toInstant() ; 

ISO 8601 문자열을 생성하려면 toString으로 전화하십시오. 끝에있는 ZZulu의 약자이며 UTC를 의미합니다.

String output = instant.toString() ; 
+0

시간대를 지정하고 싶기 때문에'DateTimeFormatter.ISO_OFFSET_DATE_TIME' 포매터를 사용했습니다. – coffeemakr

+1

@coffeemakr 아주 좋아요. 'instant.atOffset'를 호출하여 오프셋을 할당하여 'OffsetDateTime' 객체를 생성 할 수도 있습니다. 보통'ZonedDateTime' 객체를 얻기 위해 시간대'ZoneId'를 할당하는 것이 좋습니다. 영역은 특정 지역의 사람들이 사용하는 오프셋의 과거, 현재 및 미래 변화의 모음입니다. –