2014-12-23 2 views
0

날짜를 가져 오는 데 <sx:datetimepicker name="date1" label="From" displayFormat="yyyy-MM-dd"/>을 사용하고 있습니다. 필자는 mySQl 테이블에서 선택한 날짜와 날짜를 비교해야합니다. 여기서 문제는 mySQl 테이블의 날짜가 2014-09-29 20:36:25이고 struts2 태그의 piked 날짜 형식이 Wed Dec 31 00:00:00 IST 2014과 같은 것입니다. 나는 둘 다 비교할 수 없다. 어느 쪽이든 둘을 비교하는 방법을 말해 줄 수 있습니까? 또는 Java에서 선택한 시간의 형식을 변경할 수 있다면 어떻게 할 수 있습니까?DateTimePicker의 형식 (java)

+0

당신이 SimpleDateFormat의 클래스를 사용할 수 있습니다 java 형식을 변경하려면 –

+0

날짜에는 형식이 없으며 날짜를 나타 내기 위해 만든 문자열 만 사용합니다. –

+0

날짜는 [단일 시점]입니다 (http://stackoverflow.com/a/27145350/1654265). 형식을 올바르게 지정하는 것은 사용자가 결정할 수 있지만 문자열 비교를 수행하지 않으므로 페이지에서 날짜를 가져오고 데이터베이스에서 날짜를 얻은 다음 날짜를 비교하여 표현을 비교합니다. –

답변

0

당신은 당신이 비교할 수 있도록 몇 가지 동일한 형식으로 두 날짜를 구문 분석 할 필요가 ...

코드는 아래를 참조 그} 당신에게

public class Test { 

public static void main(String[] args) { 
    SimpleDateFormat sdfForSturtsDate = new SimpleDateFormat("E MMM dd HH:mm:ss z yyyy"); 
    SimpleDateFormat sdfForMySqlDate = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss"); 

    String DateFromSturts = "Wed Dec 31 00:00:00 IST 2014"; 
    String DateFromMysql = "2014-09-29 20:36:25"; 
    java.util.Date dateFromsturts= new java.util.Date(); 
    java.util.Date dateFromMySql= new java.util.Date(); 
    try { 
     dateFromsturts = sdfForSturtsDate.parse(DateFromSturts); 
     dateFromMySql = sdfForMySqlDate.parse(DateFromMysql); 
    } catch (ParseException e) { 
     // TODO Auto-generated catch block 
     e.printStackTrace(); 
    } 
    // now you can compare dateFromsturts and dateFromMySql 
} 

을 도울 수

+0

"Wed Dec 31 00:00:00 IST 2014"중복 가능. 이 날짜 개체의 값입니다, 그것은 문자열이 아닙니다. 문자열에 날짜를 캐스팅 할 수 없습니다. – Aadya