자바 문자열 을 시간 Unparseable date 로 변환 하 는 중 오류 가 발생 했 습 니 다.
4264 단어 자바문자열시간.Unparseabledate
java.text.ParseException: Unparseable date: "2017-1-1 00:00:00"
DateFormat df = new SimpleDateFormat("yyyy-MM-dd");
Date start = df.parse(startTime);
Date stop = df.parse(stopTime);
long timeSpan = stop.getTime() - start.getTime();
long hours = timeSpan / (3600 * 1000);
저 는 위의 코드 를 통 해 들 어 오 는 연 결 된 시간의 차 이 를 계산 합 니 다.실행 할 때 위의 문제 가 발생 할 수 있 습 니 다.바 이 두 는 시간 전환 을 할 때 문자열 의 길 이 를 일일이 대응 해 야 합 니 다.즉,이'yyy-MM-dd'와 길이 가 일치 해 야 한다.예 를 들 어 2013-1-1 을 시간 으로 바 꾸 려 면'2013-01-01'이 라 고 써 야 한다.
그리고 전환 에 성공 할 수 있 습 니 다!
java.text.ParseException:Unparseable date:"--이상 6
상황:
struts 2 프로젝트 가 시간 대 조 회 를 진행 할 때 action 처 는 다음 과 같은 java.text.Parse Exception:Unparseable date:"코드 를 확인 해 보 세 요.문제 가 없습니다.데이터 수신 을 할 때 판단 을 하 였 으 나 결 과 를 얻 지 못 해 답답 합 니 다.해결 후 여기에 기록 하 세 요.
[1]전에 코드 를 잘못 보 고 했 습 니 다.
if (bgndate!=null&&bgndate!=""&&enddate!=null && enddate!=""))
바로 여기 서 나타 나 서 시간 을 비 워 달라 고 부탁 할 때 이치 대로 가지 말 았 어야 했 는데 사실은 가 버 렸 다.그것 은 틀림없이 나의 이 판단 에 문제 가 있 는 것 이다.
public String yaoqinglist() throws Exception {
try{
//bgndate enddate
ActWork actWork=new ActWork();
// mm
SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd");
if (bgndate!=null&&bgndate!=""&&enddate!=null && enddate!="")) {
Date bDate = sdf.parse(bgndate);
Date eDate = sdf.parse(enddate);
String format = sdf.format(bDate);
String startTime = format.replace("-", "");//
actWork.setStartTime(startTime);// :20190401
String format1 = sdf.format(eDate);//
String endTime = format1.replace("-", "");
actWork.setEndTime(endTime);// :20190430
}
....
}catch (Exception e){
log.error(e.toString(), e);
return ERROR;
}
return "worklist";
[2]원인 찾기:자바 데이터 형식의 사용 이 잘못 되 었 습 니 다.어색 하면 안 됩 니 다.자바 기반 이 중요 합 니 다!자 바 는 기본 데이터 형식(byte,short,char,int,long,float,double,boolean)과 복합 형식(String,Inter,Long 등)으로 나 뉘 는데 기본 형식 은'=='을 사용 하고 복합 유형 은'equals'를 사용 하 며 비교 합 니 다.제 가 사용 하 는 변 수 는 String 형식 이지 만 저 는 bgndate 와 같은 변 수 를 사용 합 니 다!="이 건 안 될 거 야.equals 를 사용 하면 돼.
[3]
if (bgndate!=null&&!bgndate.equals("") &&enddate!=null&& !enddate.equals(""))
해결 은 다음 과 같 습 니 다.
public String yaoqinglist() throws Exception {
try{
//bgndate enddate
ActWork actWork=new ActWork();
// mm
SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd");
if (bgndate!=null&&!bgndate.equals("") &&enddate!=null&& !enddate.equals("")) {
Date bDate = sdf.parse(bgndate);
Date eDate = sdf.parse(enddate);
String format = sdf.format(bDate);
String startTime = format.replace("-", "");//
actWork.setStartTime(startTime);// :20190401
String format1 = sdf.format(eDate);//
String endTime = format1.replace("-", "");
actWork.setEndTime(endTime);// :20190430
}
....
}catch (Exception e){
log.error(e.toString(), e);
return ERROR;
}
return "worklist";
OK 여기까지!(^ ^)이상 은 개인 적 인 경험 이 므 로 여러분 에 게 참고 가 되 기 를 바 랍 니 다.여러분 들 도 저 희 를 많이 응원 해 주시 기 바 랍 니 다.
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
Is Eclipse IDE dying?In 2014 the Eclipse IDE is the leading development environment for Java with a market share of approximately 65%. but ac...
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.