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


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

Author: nos, 2009-07-21

6 answers

java.sql.Timestamp s'étend java.util.Date. Vous pouvez faire:

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

Ou pour inclure également le temps:

String s = new SimpleDateFormat("MM/dd/yyyy HH:mm:ss").format(myTimestamp);
 145
Author: ChssPly76, 2018-03-22 12:12:37

Utiliser une chaîne.format (ou java.util.Formateur):

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

MODIFIER:
veuillez consulter la documentation de Formatter pour savoir ce que TD et TT signifient: 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 ce 'T':

'T'     Time formatted for the 24-hour clock as "%tH:%tM:%tS".
'D'     Date formatted as "%tm/%td/%ty". 
 23
Author: Carlos Heuberger, 2013-11-05 12:52:03

Pour cette question particulière, la suggestion standard de java.text.SimpleDateFormat fonctionne, mais a l'effet secondaire malheureux que SimpleDateFormat n'est pas thread-safe et peut être la source de problèmes particulièrement désagréables car cela corrompra votre sortie dans des scénarios multi-threads, et vous n'obtiendrez aucune exception!

Je voudrais fortement recommandons de regarder Joda pour quelque chose comme cela. Pourquoi? C'est une bibliothèque heure/date beaucoup plus riche et plus intuitive pour Java que la bibliothèque actuelle bibliothèque (et la base de la nouvelle bibliothèque standard de date/heure Java, vous apprendrez donc une API bientôt standard).

 9
Author: Brian Agnew, 2016-07-06 10:49:54

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

DATE_FORMAT (date,format)

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

Java.texte.SimpleDateFormat

SimpleDateFormat dateFormat = new SimpleDateFormat("M/dd/yyyy");
dateFormat.format( new Date() );
 8
Author: DreadPirateShawn, 2009-07-20 23:19:03

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

 2
Author: erickson, 2009-07-20 23:19:39

Chaîne timeFrSSHStr = timeFrSSH.toString ();

 -8
Author: 1909, 2012-08-15 11:49:10