2009-10-31 6 views
1

나는 현재 날짜를 불러오고, 30 일을 추가 한 다음, 그 날짜를 문자열로 저장하려고한다.달력 날짜를 문자열로 변환 하시겠습니까?

 // Set calendar for due date on invoice gui 
    Calendar cal = Calendar.getInstance(); 

    // Add 30 days to the calendar for the due date 
    cal.add(Calendar.DATE, 30); 
    Date dueDate = cal.getTime(); 
    dueDatestr = Calendar.toString(dueDate); 
+0

문제가 무엇입니까? 그 toString() 사용법은 약간 이상해 보입니다. –

답변

3

그리고 질문은?

날짜를 포맷하려면 toString() 대신 java.text.SimpleDateFormat을 사용하는 것이 좋습니다. 당신은 같은 것을 수행 할 수 있습니다

SimpleDateFormat dateFormat = new SimpleDateFormat("MM/dd/yyyy"); 
dueDateStr = dateFormat.format(dueDate); // renders as 11/29/2009 
1

을 당신은 거의 그것을 가지고 :

Date dueDate = cal.getTime(); 
String dueDateAsString = dueDate.toString(); 

또는

String dueDateAsFormattedString = DateFormat.format(dueDate); 
0

당신은 대신하여 SimpleDateFormat의, 아파치 평민에서 FastDateFormat 사용을 고려 할 수 있습니다 SimpleDateFormat에 있기 때문에 스레드로부터 안전하지 않습니다.

FastDateFormat dateFormat = FastDateFormat.getInstance("MM/dd/yyyy"); 
dueDateStr = dateFormat.format(dueDate); 

일반적인 유혹 인 날짜 포맷터의 정적 인스턴스를 사용하려는 경우 특히 그렇습니다.

관련 문제