是否可以让DateBox在浏览器中设置的时区以外的时区工作?
在我的情况下,时区应该根据表单中的其他信息而改变。
根据文档中的信息,没有内置的方法可以做到这一点。你能建议你如何处理它吗?
我通过创建一个实现 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));