Ich muss Minuten in den Zeitstempel hinzufügen und danach einen neuen Wert zurückgeben. Zeitstempel wird aus der Datenbank entnommen und Verfahren als String übergeben und hat dieses Muster: yyyy-MM-dd hh: mm: ss.SSSSSSMinuten zu Zeitstempel hinzufügen
public static String changeCreditTimeStampMin(String tmStmp, int minutesToAdd) {
tmStmp = tmStmp.substring(0, tmStmp.length() - 3);
try {
SimpleDateFormat dateFormat = new SimpleDateFormat("yyyy-MM-dd hh:mm:ss.SSS");
java.util.Date parsedDate = dateFormat.parse(tmStmp);
java.sql.Timestamp timestamp = new java.sql.Timestamp(parsedDate.getTime() + minutesToAdd*60*1000);
tmStmp = timestamp.toString();
} catch (ParseException e) {
e.printStackTrace();
}catch(Exception e){
e.printStackTrace();
}
return tmStmp;
}
Wie Sie sehen können, meine Logik verwendet Simple und damit zu verwenden, Ich muss die Teilstringoperation für den Zeitstempel verwenden. Meine Frage, gibt es eine bessere Möglichkeit, das gleiche Ergebnis zu erhalten, ohne die Timestamp-Zeichenfolge zu schneiden? Bitte beachten Sie, dass meine Java-Version 1.5 ist und ich keine neueren Versionen verwenden kann.
Wenn Sie Ihren Zeitstempel als Zeichenfolge übergeben, müssen Sie die Zeichenfolge analysieren, um die Uhrzeit zu ändern. Brauchst du den Timestamp wirklich als String? Andernfalls könnte es besser sein, sie als eine Nummer in Ihrem Programm zu verwenden, besonders wenn Sie mehr Operationen darauf ausführen müssen. – Oebele
Sind Sie besorgt über den Verlust der Präzision oder die Reihenfolge der Operationen? – rpy
@Oebele Ich brauche es nicht als String, aber es ist, was ich von DAO-Klassen bekomme, in der Tat habe ich viele Variablen aus Ergebnis als String abgerufen, so dass ich diese Klasse nicht zu berühren. – Foxy