是否可以使DateBox在时区中工作,而不是在浏览器中设置?

时间:2012-04-06 06:24:14

标签: gwt datetimepicker gwt2

是否可以让DateBox在时区中工作,而不是在浏览器中设置?

在我的情况下,时区应根据表格中的其他信息而改变。

根据文档中的信息,没有内置的方法可以做到这一点。你能建议你如何接近吗?

1 个答案:

答案 0 :(得分:4)

我是通过创建一个实现DateBox.Format的类来实现的: -

public class MyDateFormat implements DateBox.Format
{

    private TimeZone tz;

    public MyDateFormat(TimeZone tz)
    {
        this.tz = tz;
    }

    @Override
    public String format(DateBox arg0, Date arg1)
    {
        if(arg1 == null)
        {
            return null;
        }
        return DateTimeFormat.getFormat("dd MMM yyyy hh:mm:ss Z").format(arg1, tz);
    }

    @Override
    public Date parse(DateBox arg0, String arg1, boolean arg2)
    {
        return DateTimeFormat.getFormat("dd MMM yyyy hh:mm:ss Z").parse(arg1);
    }

    @Override
    public void reset(DateBox arg0, boolean arg1)
    {

    }
}

然后: -

dateBox.setFormat(new MyDateFormat(tz));