109 votes

Comment formater un horodatage java.sql pour l'affichage?

Comment formater un horodatage java.sql à mon goût? (à une chaîne, pour l'affichage)

171voto

ChssPly76 Points 53452

java.sql.Timestamp s'étend java.util.Date . Vouliez-vous quelque chose comme:

 String S = new SimpleDateFormat("MM/dd/yyyy").format(myTimestamp);
 

Pour inclure le temps:

 String S = new SimpleDateFormat("MM/dd/yyyy HH:mm:ss").format(myTimestamp);
 

30voto

Carlos Heuberger Points 11804

Utilisez De La Ficelle.format (ou java.util.Formateur):

Timestamp timestamp = ...
String.format("%1$TD %1$TT", timestamp)

EDIT:
consultez la documentation de Formateur de savoir ce TD et TT moyens: cliquez sur java.util.Formateur

Le premier " T " signifie:

't', 'T'    date/time   Prefix for date and time conversion characters.

et le caractère suivant que 'T':

'T'     Time formatted for the 24-hour clock as "%tH:%tM:%tS".
'D'     Date formatted as "%tm/%td/%ty". 

10voto

Brian Agnew Points 143181

Pour cette question en particulier, la norme suggestion d' java.text.SimpleDateFormat fonctionne, mais a l'effet pervers qu' SimpleDateFormat n'est pas thread-safe et peut être la source de particulièrement désagréable de problèmes car il va corrompre votre sortie en multi-thread scénarios, et vous n'aurez pas d'exceptions!

Je serais fortement recommandons de regarder Joda pour quelque chose comme cela. Pourquoi ? Il est beaucoup plus riche et la plus intuitive de l'heure/de la date de la bibliothèque Java pour que la bibliothèque actuelle (et la base de la nouvelle norme Java date/heure de la bibliothèque, de sorte que vous allez apprendre un bientôt-à-être-API standard).

10voto

DreadPirateShawn Points 3801

Si vous utilisez MySQL et souhaitez que la base de données effectue elle-même la conversion, utilisez ceci:

DATE_FORMAT (date, format)

Si vous préférez formater en Java, utilisez ceci:

java.text.SimpleDateFormat

 SimpleDateFormat dateFormat = new SimpleDateFormat("M/dd/yyyy");
dateFormat.format( new Date() );
 

2voto

erickson Points 127945

Utiliser un DateFormat. Dans une application internationalisée, utilisez le format de fournir en getInstance. Si vous souhaitez contrôler explicitement le format, créer un nouveau SimpleDateFormat vous-même.

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X