0

是否可以让DateBox在浏览器中设置的时区以外的时区工作?

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

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

4

1 回答 1

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));
于 2012-08-10T13:31:28.957 回答