Ich erstellte eine Count-Up-Timer-Funktion in einem Java-Swing-Fenster zu verwenden. Das Problem ist, dass die Zeit nicht von Null an zu zählen beginnt. Wenn ich den Timer starte, kommt die Anfangszeit immer mit einer Stunde voraus.Count up Timer in Java nicht beginnend mit 0
Hier ist mein Code:
public static void timeRecording(){
Date startTime = new Date();
int delay = 1000; //milliseconds
ActionListener taskPerformer = new ActionListener() {
public void actionPerformed(ActionEvent evt) {
SimpleDateFormat timeFormat = new SimpleDateFormat("hh:mm:ss");
Date actualTime = new Date();
String dateToPrint = timeFormat.format(new Date(actualTime.getTime() - startTime.getTime()));
//String dateToPrint = timeFormat.format(actualTime);
System.out.println(actualTime);
//actualTime
// String timeToPrint.timeFormat = actualTime;
timerLabel.setText(dateToPrint);
}
};
new Timer(delay, taskPerformer).start();
}
Dies ist die Zeit zu Beginn gezeigt ist:
Wahrscheinlich, weil Sie Ihre Zeitzone UTC + 1 verwendet wird. – assylias
@assylias angeblich ist meine Zeitzone UTC + 0 (Lissabon Greenwich). Ich habe bereits versucht, das Format mit timeFormat.setTimeZone (TimeZone.getTimeZone ("GMT")) zu ändern, aber jetzt beginnt von 12:00:00 – Bruno
Lissabon ist in UTC + 1 – assylias