Voici mon code en Java 1.6 (question a été double marqué, mais la solution proposée fait référence à Java 1,8)Problèmes avec la conversion d'horodatage
public static void main(String[] args){
try{
String dateTimeString = "2015-08-10-14.20.40.679279";
DateFormat dateFormat = new SimpleDateFormat("yyyy-MM-dd-HH.mm.ss.SSSSSS");
java.util.Date formattedDate = dateFormat.parse(dateTimeString);
Timestamp formattedTime = new Timestamp(formattedDate.getTime());
System.out.println(formattedTime);
} catch (Throwable t){
t.printStackTrace();
}
}
L'objet donné est: 2015-08-10 14:31:59.279
, si bien que quelque chose est mal lors de l'analyse minutes, secondes et millis, je ne sais pas exactement quoi.
Merci!
Qu'est-ce que '679279'? millis (ne regarde pas bien)? fraction de secondes (c'est-à-dire microsecondes, auquel cas vous devez vous débarrasser des trois derniers chiffres car l'API de date ne prend en charge que les millis)? – assylias
La majeure partie de la fonctionnalité Java 8 (java.time) mentionnée ci-dessus est rétroportée sur Java 6 & 7 dans le projet [ThreeTen-Backport] (http://www.threeten.org/threetenbp/). Une grande amélioration par rapport aux classes héritées gênantes que vous utilisez ici. Et les classes java.time utilisent une résolution de l'ordre de la nanoseconde (9 décimales) afin de pouvoir traiter vos données microsecondes (6 décimales) sans perte de données et sans tracas. –