SWT 日期时间不考虑区域设置



是否可以更改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();
}

相关内容

  • 没有找到相关文章

最新更新