War es hilfreich?

Lösung

Die javadocs für java.sql.Date angeben, dass die Methode toString eine Zeichenfolge im Format gibt „yyyy-mm-dd“, so dass Sie das richtige Verhalten sind seeeing. Das Date Objekt hat keine Kenntnis von dem Formatierer Sie es erstellt haben. Für die Ausgabe im gleichen Format erhalten verwenden, um die DateFormat.format Methode anstatt toString:

public void aMethod (String activateTime, String expireTime) {
    Date example = new Date(dateFormat.parse(activateTime).getTime());
    Date example2 = new Date(dateFormat.parse(expireTime).getTime());
    System.out.println(example.toString() + " vs " + dateFormat.format(example));
    System.out.println(example2.toString() + " vs " + dateFormat.format(example2));
}

Andere Tipps

Die java.sql.Date enthält nur die Datum Teil für Datum und Uhrzeit. Sie wollen wahrscheinlich java.sql.Timestamp stattdessen verwenden.

Timestamp example = new Timestamp(dateFormat.parse(activateTime).getTime());
Timestamp example2 = new Timestamp(dateFormat.parse(expireTime).getTime());

Es funktioniert auch wie in der durchschnittlichen SQL-Datenbank. Der DATE Datentyp repräsentiert nur das Datum, der TIME Datentyp nur die Zeit darstellt. Der TIMESTAMP Datentyp repräsentiert das Datum und die Uhrzeit (manchmal DATETIME genannt).

Beachten Sie, dass Ihre Stunde Muster ist falsch. Mit den genannten Beispielen, würden Sie eher wie zu verwenden HH statt hh. Siehe auch die SimpleDateFormat javadoc .

Siehe auch:

Haben Sie versucht java.sql.Date zu java.util.Date?

zu ändern
Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top