2015-02-05 2 views
0

두 개의 JTable이 있습니다.Java SimpleDateFormat

된 table_1은 (EE - MMMMM dd, yyyy)

Table_2의 값 형식의 사용자가 된 table_1 클릭에 따라 달라집니다되는 날짜가 포함되어 있습니다. 일반적으로 데이터베이스에서 오는 날짜 형식은 (yyyy-dd-MM)입니다. 조금 더보기에는 (EE - MMMMM dd, yyyy)으로 지정했습니다.

제 문제는 쿼리가 작동하도록 다시 포맷 (yyyy-dd-MM)하고 싶습니다. 이 위로

Table_1.getValueAt(Table_1.getSelectedRow(),0) - > Thu - Feb 5, 2015 

:

2015-5-2 

을 그리고 결과를 가지고 데이터베이스에 쿼리

나는이를 원한다. 한달 0에서 시작하기 때문에 SimpleDateFormatterCalendar을 사용

+0

올바른 출력을 얻기 위해'SimpleDateFormat'을 다시 사용하지 않는 이유는 무엇입니까? – Steffen

+0

나는 여러 가지 방법으로 시도했고 많은 에로스를 얻었다. Object cant가 Date로 변환 될 수 없습니다. java.lang.String은 java.util.Date 등으로 형변환 될 수 없습니다. – meatno

+2

날짜를'char'로 저장하는 이유는 무엇입니까? – Jens

답변

1

,

String date = "Thu-Feb 5, 2015"; 

SimpleDateFormat sdf = new SimpleDateFormat("EEE-MMM d, yyyy"); 

Calendar cal = Calendar.getInstance(); 
cal.setTime(sdf.parse(date)); 

String newDate = cal.get(Calendar.YEAR) + "-" + cal.get(Calendar.DAY_OF_MONTH) + "-" + cal.get(Calendar.MONTH); 

System.out.println(date); 
System.out.println(newDate); 

출력,

Thu-Feb 5, 2015 
2015-5-1 

February 상기 출력 1 같음 관찰이있다.

+0

그리고 'newDate'는 java.util.Date입니다. 나는 그것을 쿼리에서 사용하기 때문에 java.sql.Date로 변환해야한다. – meatno

+0

@ meatno,'newDate'는'Date'가 아니라'String' 타입입니다. 이'String '을 원하는 유형으로 변환 할 수 있습니다. –