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)
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);
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".
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).
Si vous utilisez MySQL et que vous souhaitez que la base de données elle-même effectue la conversion, utilisez ceci:
Si vous préférez formater en utilisant Java, utilisez ceci:
SimpleDateFormat dateFormat = new SimpleDateFormat("M/dd/yyyy");
dateFormat.format( new Date() );
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.
Chaîne timeFrSSHStr = timeFrSSH.toString ();