Frage

I got some troubles using time in my code:

txtDauer = new JFormattedTextField();
txtDauer.setFormatterFactory(new DefaultFormatterFactory(
    new DateFormatter(DateFormat.getTimeInstance())));

When I use setValue(0) to the above FormattedTextfield the textfield shows 01:00:00 instead of 00:00:00.

The same problem occurs also at another line of the code with this method:

public static String convertLongToString(Long time) {
    String strtime = new SimpleDateFormat("HH:mm:ss").format(time);
    return strtime;
}

Using this method with "0" it returns strtime = "01:00:00".

War es hilfreich?

Lösung

The problem is the TimeZone, your default computer's TimeZone is GMT +1.

The solution is setting GMT to +0:

DateFormat df = new SimpleDateFormat("HH:mm:ss");
df.setTimeZone(TimeZone.getTimeZone("GMT"));

Run and preview.

Andere Tipps

For Date, Date & Time or Time use JSpinner with SpinnerDateModel, example about using SimpleDateFormat

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