是否可以更改DataTime小部件显示日期的格式?问题是,即使我将地区设置为使用欧洲格式(dd/mm/yyyy)的地区,我仍然有mm/dd/yyyy格式的DateTime小部件。
Edit:在SO上也有类似的问题,比如"如何更改日期时间的格式",他们的回答是"更改区域设置和日期时间将适应"。我的问题是关于更改区域设置对DateTime小部件没有任何影响的情况。可能出了什么问题?是否有其他解决方案来强制格式更改?
在Linux上运行一些测试后,我可以确认DateTime
小部件似乎没有使用操作系统的区域设置。这似乎是一个错误,你应该报告它。
你可以在此期间使用星云的CDateTime
,它支持Java Locale
s:
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();
}