如何在Vaadin 8中设置DateField以根据用户的时区突出显示默认日期

时间:2018-01-22 16:50:38

标签: java timezone vaadin vaadin8

我希望DateField默认为我的用户的时区。我试过DateField.setZoneId(),但这似乎没有做任何事情。然后我试着做DateField.setDefaultValue(LocalDateAdjustedForTimeZone),这主要是因为蓝框正确突出显示但黑色轮廓仍在服务器的时区下。enter image description here

1 个答案:

答案 0 :(得分:1)

据我所知,在Vaadin客户端组件VAbstractCalendarPanel#buildCalendarBody()中,没有办法影响哪一天标有今天的CSS样式v-datefield-calendarpanel-day-today。关于确定"今天"的客户端组件Java代码看起来像:

final Date tmp = new Date();
final Date today = new Date(tmp.getYear(), tmp.getMonth(), tmp.getDate());

所以我想当它被翻译成JavaScript时,它会占用浏览器系统上的当前日期。

但是,作为一种解决方法,您至少可以调整CSS样式以隐藏今天的标记。我想知道为什么Vaadin没有考虑你的用例(也是我的用例)。你能在Vaadin开一个问题吗?