我和AjaxEditableLabel一起显示Date对象的日期,但是当它在其格式化中显示时喜欢这个“08-08-07 00:00”。有什么我可以添加到标签,以便它以不同的方式呈现其对象?
item.add(new AjaxEditableLabel("stockEntry_date")
{
@Override
public void onSubmit(AjaxRequestTarget target) {
super.onEdit(target);
//Save to database
}
});
答案 0 :(得分:2)
您可以使用java中的DateFormat类以您想要的格式获取日期的字符串表示形式。您可以使用DateFormat将Date转换为字符串以用于显示目的,然后将其转换回日期以用于您要对其执行的操作(如保存到数据库)
它可能看起来像这样(请注意我没有使用任何IDE来编写此代码,因此可能不正确)
DateFormat df = DateFormat.getDateInstance(desiredFormat);
myString = DateFormat.getDateInstance().format(myDate);
item.add(new AjaxEditableLabel("stockEntry_date", myString)
{
@Override
public void onSubmit(AjaxRequestTarget target) {
super.onEdit(target);
df.parse(this.getLabel().getDefaultModelObject());//not sur if this is the correct to get the label value
//Save to database
}
});