이것은 동료들이 직면 한 문제입니다.
코드의 날짜, 페이지에 위치한 형식은 "Fri 3 월 21 일 09:20:38 CST 2014"입니다 (다음 컨트롤러로 전달하기 위해 표시되지 않음).
양식을 다시 제출할 때 DTO 클래스의 개인 날짜 시작 시간; 값으로 설정되지 않았습니다.
나는 지역 프로그램으로 실험을했다
public static void main (String [] args) {date now = new Date (); System.out.println (지금); string nowstr = now.tostring (); dateformat format = new simpledateformat ( "eee mmm dd hh : mm : ss z yyyy"); 날짜 parsedNow = null; try {parsedNow = format.parse (nowstr); System.out.println (ParsedNow); } catch (parseException e) {e.printstacktrace (); }}프로그램이 format.parse (nowstr)를 실행할 때 오류가 발생했습니다.
java.text.parseexception : 기존 날짜 : "Fri 3 월 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")));
그중에서도 System.getProperty ( "user.language")는 시스템이 ZH이기 때문에 중국인 이므로이 형식은 중국 시간대에서 지원해서는 안됩니다.
위의 코드를 수정 하여이 점을 확인하십시오
public static void main (String [] args) {date now = new Date (); System.out.println (지금); 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")); 날짜 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 ( "en '"); System.out.println (format.parse (nowstr)); } catch (parseException e1) {e1.printstacktrace (); }}}다른 솔루션은 JSP 페이지에서 날짜 형식을 한 번 변환하는 것입니다.
<입력 유형 = "hidden"name = "data"value = '<fmt : formatdate value = "$ {dto.date}"pattern = "yyyy-mm-dd"/>'/> 위는이 기사의 모든 내용입니다. 이 기사의 내용이 모든 사람의 연구 나 업무에 도움이되기를 바랍니다. 또한 wulin.com을 더 지원하기를 바랍니다!