AjaxEditableLabel显示由SimpleDateFormat格式化的日期

时间:2012-08-02 17:31:34

标签: java wicket

我和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
    }
});

1 个答案:

答案 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
    }
});