Java JFormattedTextfield time formatting
-
13-11-2019 - |
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".
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"));
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