java Date를 영문 String으로 설치한 후 Date 솔루션으로 다시 돌아갈 수 없음
코드의 날짜는 페이지에 "Fri Mar 21 09:20:38 CST 2014"형식으로 표시됩니다. 다음 controller에만 전달됩니다.
양식을 다시 제출할 때 Dto 클래스의 private Date startTime;설정된 값이 없습니다.
로컬 프로그램으로 실험을 해봤어요.
public static void main(String[] args) {
Date now = new Date();
System.out.println(now);
String nowStr = now.toString();
DateFormat format = new SimpleDateFormat("EEE MMM dd HH:mm:ss z yyyy");
Date parsedNow = null;
try {
parsedNow = format.parse(nowStr);
System.out.println(parsedNow);
} catch (ParseException e) {
e.printStackTrace();
}
}
프로그램 실행 포맷.parse(nowStr) 타임즈 오류Java.text.ParseException: Unparseable date: "Fri Mar 21 09:25:48 CST 2014"
at java.text.DateFormat.parse(DateFormat.java:337)
원본 코드를 분석하고 확인한 결과 시스템이 사용하는 언어로 인한 오류가 발생했다는 결론을 얻었다.
DateFormat format = new SimpleDateFormat("EEE MMM dd HH:mm:ss z yyyy");
기본값은
DateFormat format = new SimpleDateFormat("EEE MMM dd HH:mm:ss z yyyy", new Locale(System.getProperty("user.language")));
그중에서도 시스템.getProperty ("user.language") 는 시스템이 중국어이기 때문에 zh입니다. 중국어 시간대에서 이 포맷을 지원하지 않을 것입니다.위의 코드를 수정하여 이 관점을 검증하다
public static void main(String[] args) {
Date now = new Date();
System.out.println(now);
String nowStr = now.toString();
DateFormat format = new SimpleDateFormat("EEE MMM dd HH:mm:ss z yyyy", new Locale(System.getProperty("user.language")));
System.out.println(System.getProperty("user.language"));
Date parsedNow = null;
try {
parsedNow = format.parse(nowStr);
System.out.println(parsedNow);
} catch (ParseException e) {
format = new SimpleDateFormat("EEE MMM dd HH:mm:ss z yyyy", Locale.ENGLISH);
try {
System.out.println("new format by 'en'");
System.out.println(format.parse(nowStr));
} catch (ParseException e1) {
e1.printStackTrace();
}
}
}
또 다른 해결 방안은 jsp 페이지에서 날짜 형식을 한 번 바꾸는 것이다. 예를 들어
<input type="hidden" name="data" value='
<fmt:formatDate value="${dto.date}" pattern="yyyy-MM-dd"/>
'/>
이상은 본문의 전체 내용입니다. 본고의 내용이 여러분의 학습이나 업무에 일정한 도움을 줄 수 있는 동시에 저희를 많이 지지해 주시기 바랍니다!
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
38. Java의 Leetcode 솔루션텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.