是否可以更改以更改DataTime小部件显示日期的格式?问题是,即使我将语言环境设置为使用欧洲格式(dd / mm / yyyy)的语言环境,我仍然有mm / dd / yyyy格式的DateTime小部件。
编辑:有关SO的类似问题"如何更改DateTime的格式"他们的回答类似于"改变语言环境,DateTime将适应"。我的问题是关于更改语言环境对DateTime小部件没有任何影响的情况。可能有什么问题?是否还有其他强制格式更改的解决方案?
答案 0 :(得分:1)
在Linux上运行一些测试后,我可以确认DateTime
窗口小部件似乎没有使用操作系统的区域设置。这似乎是一个错误,你应该报告它。
在此期间你可以做的是使用支持Java Locale
的{{3}}:
public static void main(String[] args)
{
Display display = new Display();
final Shell shell = new Shell(display);
shell.setText("StackOverflow");
shell.setLayout(new FillLayout());
Locale.setDefault(Locale.GERMAN);
CDateTime cdt = new CDateTime(shell, CDT.DATE_SHORT);
cdt.setSelection(new Date());
Locale.setDefault(Locale.ENGLISH);
cdt = new CDateTime(shell, CDT.DATE_SHORT);
cdt.setSelection(new Date());
shell.pack();
shell.open();
while (!shell.isDisposed())
{
if (!display.readAndDispatch())
display.sleep();
}
display.dispose();
}