날짜 문자열을 날짜로 구문 분석하는 방법은 무엇입니까? [복제]
이 질문에는 이미 답변이 있습니다.
- 자바 문자열에서 날짜로 변환 13 답변
아래의 날짜 문자열을 Date
객체 로 구문 분석하는 방법은 무엇입니까?
String target = "Thu Sep 28 20:29:30 JST 2000";
DateFormat df = new SimpleDateFormat("E MM dd kk:mm:ss z yyyy");
Date result = df.parse(target);
예외 발생 ...
java.text.ParseException: Unparseable date: "Thu Sep 28 20:29:30 JST 2000"
at java.text.DateFormat.parse(DateFormat.java:337)
패턴이 잘못되었습니다. 3 글자 약어가 있으므로이어야합니다 EEE
. 3 글자 약어가 있으므로이어야합니다 MMM
. 해당 요일 및 월 약어는 로케일에 따라 SimpleDateFormat
다르 므로 로케일을 영어로 명시 적으로 지정 하려고합니다. 그렇지 않으면 영어 자체가 아닌 플랫폼 기본 로케일을 사용합니다.
public static void main(String[] args) throws Exception {
String target = "Thu Sep 28 20:29:30 JST 2000";
DateFormat df = new SimpleDateFormat("EEE MMM dd kk:mm:ss z yyyy", Locale.ENGLISH);
Date result = df.parse(target);
System.out.println(result);
}
여기에 인쇄됩니다
2000 년 9 월 28 일 07:29:30 BOT 2000
내 시간대에 따라 맞습니다.
HH
대신 을 사용하고 싶지 않다면 다시 생각해보십시오 kk
. 유효한 패턴에 대한 세부 사항은 javadoc 을 읽으십시오 .
다음은 실제 예입니다.
import java.text.ParseException;
import java.text.SimpleDateFormat;
import java.text.DateFormat;
import java.util.Date;
public class j4496359 {
public static void main(String[] args) {
try {
String target = "Thu Sep 28 20:29:30 JST 2000";
DateFormat df = new SimpleDateFormat("EEE MMM dd kk:mm:ss zzz yyyy");
Date result = df.parse(target);
System.out.println(result);
} catch (ParseException pe) {
pe.printStackTrace();
}
}
}
인쇄합니다 :
Thu Sep 28 13:29:30 CEST 2000
String target = "27-09-1991 20:29:30";
DateFormat df = new SimpleDateFormat("dd MM yyyy HH:mm:ss");
Date result = df.parse(target);
System.out.println(result);
이것은 잘 작동합니까?
new SimpleDateFormat("EEE MMM dd kk:mm:ss ZZZ yyyy");
과
new SimpleDateFormat("EEE MMM dd kk:mm:ss Z yyyy");
여전히 실행됩니다. 그러나 코드에서 예외가 발생하면 도구 또는 jdk 또는 다른 이유 때문입니다. 때문에 나는이 같은 오류가 발생했습니다 내 IDE에 있지만, 이러한 확인하시기 바랍니다 http://ideone.com/Y2cRr 으로 (온라인 IDE)을 ZZZ 와 함께 Z
출력은 : Thu Sep 28 11:29:30 GMT 2000
나는이 문제를 가지고 있었고, 내가 설정 Locale
에 US
, 그것은 작동합니다.
static DateFormat visitTimeFormat = new SimpleDateFormat("EEE MMM dd HH:mm:ss zzz yyyy",Locale.US);
...에 대한 String
"Sun Jul 08 00:06:30 UTC 2012"
구문 분석 예외는 검사 예외이므로 @miku가 제안한 것처럼 문자열을 날짜로 구문 분석 할 때 try-catch로 예외를 잡아야합니다 ...
참고URL : https://stackoverflow.com/questions/4496359/how-to-parse-date-string-to-date
'IT박스' 카테고리의 다른 글
반응 형 웹 디자인은 데스크톱에서는 작동하지만 모바일 장치에서는 작동하지 않습니다 (0) | 2020.07.28 |
---|---|
반응-DOM이 렌더링되는 동안 로딩 화면이 표시됩니까? (0) | 2020.07.28 |
모든 것을 한 눈에 보는 방법? (0) | 2020.07.27 |
새로운 구문 중 하나 대신 일반 오래된 Thread 객체를 사용하는 것이 더 좋은 경우가 있습니까? (0) | 2020.07.27 |
PHP에서 cURL을 사용한 RAW POST (0) | 2020.07.27 |