java.sql.Horodatage à la Chaîne avec une précision
Je suis de la lecture d'une colonne de type timestamp à partir de la base de données en java.sql.Horodatage de l'objet. Alors je voudrais le convertir la valeur de l'horodatage d'un objet de type String, mais de garder la microseconde de précision. L'appel de la méthode toString() me met à la fermer, mais il semble perdre les zéros à droite dans la microseconde. Si le timestamp se termine en un nombre différent de zéro, tout est bien.
Exemple:
SimpleDateFormat outDateFormat = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss.SSSSSS");
String s = "2005-02-25 11:50:11.579410";
java.sql.Timestamp ts = java.sql.Timestamp.valueOf(s);
String out = ts.toString(); //This returns 2005-02-25 11:50:11.57941
out = outDateFormat.format(ts); //This returns 2005-02-25 11:50:11.000579
Je suis vraiment à la recherche d'imprimer 2005-02-25 11:50:11.579410.
S
est un millième de seconde et non pas une microseconde...D'accord. Je l'ai mis dans l'exemple juste pour montrer comment il se comporte.
Pourquoi avez-vous besoin d'une précision?
Je suis la réplication des données entre les différents systèmes de base de données d'horodatage et de la précision doit être préservé.
OriginalL'auteur Mensur | 2013-12-23
Vous devez vous connecter pour publier un commentaire.
Vous pouvez utiliser le getNanos()-methode de Timestamp.
Probablement préférable d'utiliser
String.format
ou encore mieux, unMessageFormat
plutôt que de le personnalisé en ajoutant le code.OriginalL'auteur Meno Hochschild