2009-10-31 6 views
1

J'essaye de faire en sorte que le programme appelle la date actuelle, y ajoute 30 jours, et ensuite mets cette date sous forme de chaîne.convertir une date de calendrier en chaîne?

 // 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

Quel est le problème? Cette utilisation de toString() semble un peu étrange. –

Répondre

3

Et la question est?

Si vous souhaitez mettre en forme votre date, je suggère de regarder java.text.SimpleDateFormat au lieu d'utiliser toString(). Vous pouvez faire quelque chose comme:

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

Vous avez presque le:

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

ou

String dueDateAsFormattedString = DateFormat.format(dueDate); 
0

Vous voudrez peut-être envisager d'utiliser FastDateFormat de Apache commons, au lieu de SimpleDateFormat, parce que SimpleDateFormat n'est pas thread-safe.

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

Ceci est particulièrement vrai si vous souhaitez utiliser une instance statique du formateur de date, qui est une tentation commune.

Questions connexes