2017-01-24 4 views
0

Date 객체가 있지만 해당 형식 패턴을 알지 못합니다. Date 객체의 형식 패턴을 객체 자체에서 직접 가져올 수있는 방법이 있습니까?Java의 Date 객체에서 직접 형식 패턴 가져 오기

+0

어떤 Java 버전에서 작동합니까? 1.8? – Braisly

+0

Date 객체에는 Date가 포함되어 있으며 여러 가지 방법 중 하나 인 'SimpleDateFormatter'를 사용하여 자유롭게 형식을 지정할 수 있습니다. 정확히 무엇이 필요할까요? –

+0

포맷터를 사용하려면 어떤 패턴을 사용해야하는지 알아야합니다. 예 : SimpleDateFormat ("MM-dd-yyyy"). 내 질문은 : 그 패턴을 instatiates 날짜 개체에서 문자열 "MM-dd-yyyy"직접 알고 가능성? – GigiManco

답변

2

java.util.Date 객체에는 연관된 패턴이 없습니다. 당신이 YYYY-MM-DD로 날짜를 반환합니다) Date.toString를 (호출하는 경우

또한 @Sergio 몬토로의 대답은 절반 밖에

DateFormat.getDateInstance(int,Locale) 
+0

매우 명확합니다. 감사합니다! – GigiManco

2

를 호출하여 로케일의 형식을 검색 할 수 있습니다 -옳은. 일반적으로, 당신은 가치 객체들 (Java-10에서 새로운 값 유형 기능을 다루는 J. Rose의 의미가 아닌)과 포매터 사이에서 차이점을 만들어야합니다.

java.util.Date과 같은 값 개체는 여러 가지 방법으로 서식을 지정할 수 있습니다. 이것은 가치 객체와 포맷터의 분리를 정당화합니다. 따라서 값 객체에는 클래스가 Object에서 상속 한 방식보다 다른 기본 제공 형식이 없습니다. 일반적으로이 방법은 최상의 경우 디버깅 용도로만 사용됩니다. "EEE MMM가 HH dd는 : MM : SS는 ZZZ 일"

:

이 방법 toString() 그러나 다음과 같은 형식 패턴 (다른 답의 보정)을 사용

유의해야 : 이 패턴 자체는 java.util.Date -object의 상태의 일부가 아닙니다. 이는 방법 toString()의 작동 방식과 같습니다.

어쩌면 당신의 질문은 매우 심각한 문제가있는이 형식을 목표로 삼을 것입니다.

이 (미친) 방법 toString()은 정밀도가 밀리 초 단위 인 값 개체의 전체 상태를 인쇄하지 않습니다 (패턴에!가 없습니다). 또 다른 더욱 혼란스러운 점은 다음과 같습니다.이 특수 서식 지정 방법은 인쇄용 외부 컨텍스트 정보, 즉 실행중인 JVM의 시스템 시간대를 사용합니다. 이 영역은 java.util.Date 상태의 일부가 아닙니다.

결론 :의가 (toString() 방법을 무시 의미) 항상 SimpleDateFormat 같은 별도의 포맷을 사용하는 형식없이 최선을 java.util.Date의 객체를 치료하자.