在vaadin中转换DateField的值

时间:2014-07-14 09:27:34

标签: java date converter vaadin datefield

我目前正在使用Vaadin框架。我想将DateField中的字符串转换为Date。所以我有两个类,一个是视图,另一个应该包含我用数据绑定保存的值。

这是视图中的DateField:

timestart = new DateField("");
timestart.setId("timestart");
timestart.setDateFormat("yyyy-MM-dd HH:mm");
timestart.setValue(new Date());
timestart.setResolution(Resolution.MINUTE);
timestart.setConverter( XXX ); // Here i don't know what to do
layout.addComponent(timestart, 3, 2);

在同一个类中绑定数据:

binder.bind(timestart, "timestart");
//This part is working

在我的另一堂课中:

private Date timestart;

我想将此timestart保存在数据库中,因此我需要一个格式化的值,如上面的yyyy-MM-dd HH:mm,但是当我在没有timestart.setConverter的情况下执行此操作时,我会得到一个类似{{1}的日期}}

我该怎么做?

1 个答案:

答案 0 :(得分:1)

您需要在bean类中格式化Date。不在您的查看代码中。

private SimpleDateFormat dateFormat;
private Date timestart;

public ConstructorOfYourClass{
    timestart = new Date(); //Default date
    //Your prefered date format
    dateFormat = new SimpleDateFormat("yyyy-MM-dd hh:mm"); 

} 
//... other Code ...


//Getter method of your Date
public String getdateFormat(){
return dateFormat.format(timestart);
}