Im folgenden Code konvertiere ich eine java.util.date in java.sql.date. Ich bin verwirrt an einem Punkt, dass während ich das Datum vor der Epoche wie unten angegeben und ich habe auch date.getTime() -Methode verwendet, die Millisekunden aus der Epoche gibt, gab es mir die richtige Zeit, wie in den Ergebnissen gezeigt. Meine Fragen sind, warum es nicht scheiterte (wie ich es angenommen hatte)? Warum gab es die richtige Zeit?Warum Epoch nicht mit java.util.date fehlgeschlagen?
Code:
SimpleDateFormat sdf2 = new SimpleDateFormat("dd-M-yyyy hh:mm:ss"); //defining format
String dateOfAdmissionInString = "22-01-1966 05:03:33";
Date utilDateOfAdmission = sdf2.parse(dateOfAdmissionInString);
java.sql.Timestamp sqlDateOfAdmission = new Java.sql.Timestamp(utilDateOfAdmission.getTime());
System.out.println("utilDateOfAdmission:" + utilDateOfAdmission);
System.out.println("sqlDateOfAdmission:" + sqlDateOfAdmission);
Ergebnis:
utilDateOfAdmission: Sat Jan 22 05:03:33 PKT 1966
sqlDateOfAdmission: 1966-01-22 05:03:33.0
In Ordnung! Ist es in Ordnung, diesen Ansatz zu verwenden? oder wird es irgendwann brechen? –
@RabiaNazkhan: Es ist völlig in Ordnung. Beachten Sie, dass Sie für etwas Bedeutsames 'java.util.Calendar' (das ebenfalls Offsets von The Epoch verwendet) oder die verschiedenen [' java.time' Klassen] (http://docs.oracle.com/javase/) verwenden möchten. 8/docs/api/java/time/package-summary.html) (oder JodaTime) statt dessen, da "Date" nur sehr wenige nützliche Funktionen hat, sind etwa 90% der API veraltet. Aber negative Offsets von The Epoch sind völlig normal. Zum Beispiel behandelt 'java.util.GregorianCalendar' die Diskontinuität im Oktober 1582, so dass erwartet wird, dass negative Epochenwerte behandelt werden. –
In Ordnung! Vielen Dank, Sir, dass Sie meine Konzepte geklärt haben. –