我在代码中使用时间遇到了一些麻烦:
txtDauer = new JFormattedTextField();
txtDauer.setFormatterFactory(new DefaultFormatterFactory(
new DateFormatter(DateFormat.getTimeInstance())));
当我对上面的FormattedTextfield使用setValue(0)时,textfield显示01:00:00而不是00:00:00。
使用此方法在代码的另一行也会出现同样的问题:
public static String convertLongToString(Long time) {
String strtime = new SimpleDateFormat("HH:mm:ss").format(time);
return strtime;
}
将此方法与“0”一起使用,返回strtime =“01:00:00”。
答案 0 :(得分:2)
问题是TimeZone ,您的默认计算机的TimeZone是GMT +1。
解决方案是将GMT设置为+0:
DateFormat df = new SimpleDateFormat("HH:mm:ss");
df.setTimeZone(TimeZone.getTimeZone("GMT"));
答案 1 :(得分:1)
对于Date
,Date & Time
或Time
使用JSpinner SpinnerDateModel,有关使用SimpleDateFormat