我住在匈牙利,我想创建gwt节目。
时间戳
1324565400
gwt html
<meta name="gwt:property" content="locale=hu_HU">
我的代码
DateTimeFormat dateFormater = DateTimeFormat.getFormat("H:mm");
...
mikorColumnConfig.setRenderer(new GridCellRenderer<RendelesIdeiglenes>() {
@Override
public Object render(
RendelesIdeiglenes model, String property,
ColumnData config, int rowIndex, int colIndex,
ListStore<RendelesIdeiglenes> store,
Grid<RendelesIdeiglenes> grid)
{
return dateFormater.format((Date) model.get(property));
}
});
和gwt显示
15:50
但实时是
14点50
为什么显示错误的时间?我相信它可能与白天节省时间有关,如何激活 dayLightSaving 设置?
答案 0 :(得分:0)
嗯,好吧,1324565400000
是14:50 UTC,15:50 UTC + 1,我相信匈牙利是UTC + 1,所以,住在匈牙利,你的电脑是UTC + 1,因此预计显示 15:50 。
注意:应用的区域设置(使用meta name="gwt:property"
设置)不会更改适用的时区。那一个总是运行代码的计算机之一,即日期始终是本地日期,并且除非您将明确的TimeZone
传递给format
方法,否则这些格式都是这样的
顺便说一句,您可能希望使用DateTimeFormat.getFormat(PredefinedFormat.TIME_SHORT)
而不是DateTimeFormat.getFormat("H:mm")
。 hu
区域设置中的短时格式为H:mm
,因此您不会注意到更改,但以后更容易将其国际化(如果添加英语)支持,您将自动使用适当的短时格式作为语言环境,与H:mm
固定且与语言环境无关)。