Java 如何存储日期和时间,并能够将其绑定到标签并相互比较
我找不到关于如何在JavaFX2上存储时间和日期并将其绑定到标签的任何有趣信息。我想我可以出于自己的目的扩展StringProperty,但我不确定如何实现所有这些方法。此外,我有一个列表包含许多职位,我希望能够筛选此列表,例如,仅显示3年以上的型号。有什么好办法吗 编辑: 我当前的解决方案Java 如何存储日期和时间,并能够将其绑定到标签并相互比较,java,javafx,javafx-2,Java,Javafx,Javafx 2,我找不到关于如何在JavaFX2上存储时间和日期并将其绑定到标签的任何有趣信息。我想我可以出于自己的目的扩展StringProperty,但我不确定如何实现所有这些方法。此外,我有一个列表包含许多职位,我希望能够筛选此列表,例如,仅显示3年以上的型号。有什么好办法吗 编辑: 我当前的解决方案 public class DateProperty extends SimpleStringProperty { private final Calendar calendar = Calenda
public class DateProperty extends SimpleStringProperty {
private final Calendar calendar = Calendar.getInstance();
public DateProperty() {
}
public Date getDate() {
return calendar.getTime();
}
public Calendar getCalendar() {
return calendar;
}
public void set(String a) {
calendar.set(Calendar.HOUR_OF_DAY, 0);
calendar.set(Calendar.MINUTE, 0);
calendar.set(Calendar.SECOND, 0);
calendar.set(Calendar.MILLISECOND, 0);
try {
DateFormat formatter = new SimpleDateFormat("yyyy-MM-dd");
calendar.setTime(formatter.parse(a));
} catch (ParseException e) {
DateFormat formatter = new SimpleDateFormat("HH:mm:ss");
try {
calendar.setTimeInMillis(formatter.parse(a).getTime()
+ calendar.getTimeInMillis());
} catch (ParseException e1) {
calendar.setTimeInMillis(0);
}
}
}
abstract class DateBinding extends StringBinding {
abstract protected DateFormat getFormatter();
@Override
protected String computeValue() {
return getFormatter().format(calendar.getTime());
}
}
public StringBinding asDateString() {
return new DateBinding() {
@Override
protected DateFormat getFormatter() {
return new SimpleDateFormat("yyyy-MM-dd");
}
};
}
public StringBinding asTimeString() {
return new DateBinding() {
@Override
protected DateFormat getFormatter() {
return new SimpleDateFormat("HH:mm:ss");
}
};
}
public StringBinding asDateAndTimeString() {
return new DateBinding() {
@Override
protected DateFormat getFormatter() {
return new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
}
};
}
}
听起来你实际上有两个问题:一个是关于如何绑定标签,另一个是关于如何比较日期和时间。您只需在常规java:Ps中执行时间和日期操作。示例代码会很好。这是一个有效的答案吗?如果是,请解释它的作用,并将其添加为答案:)