簡體   English   中英

自動增加SWT日期時間的日期

[英]Increase the date of a SWT Datetime automatically

在我的程序中,我有兩個org.eclipse.swt.widgets.DateTime小部件。 如果更改了一個(天,月或年),則另一個應設置為同一日期,增加兩天。

例如,一個被設置為01.01.2014 ,另一個應跳到03.01.2014

有沒有解決的辦法,或者您知道有關這方面的摘要嗎? 我不想總是檢查第一個DateTime是否設置為一個月末,以便第二個應該跳至01.02.2014 1月2日或02.02.2014 2月2日...

我希望你理解我在尋找什么;)

您可以使用java.util.Calendar ,尤其可以使用add(int, int)方法將兩個添加到Calendar.DAY_OF_YEAR 它將自動移至下個月/年:

public static void main(String[] args)
{
    Display display = new Display();
    Shell shell = new Shell();
    shell.setText("StackOverflow");
    shell.setLayout(new GridLayout(2, false));

    final DateTime first = new DateTime(shell, SWT.CALENDAR);
    final DateTime second = new DateTime(shell, SWT.CALENDAR);

    first.addListener(SWT.Selection, new Listener()
    {
        private Calendar cal = Calendar.getInstance();

        @Override
        public void handleEvent(Event arg0)
        {
            cal.set(Calendar.YEAR, first.getYear());
            cal.set(Calendar.MONTH, first.getMonth());
            cal.set(Calendar.DAY_OF_MONTH, first.getDay());

            cal.add(Calendar.DAY_OF_YEAR, 2);

            second.setDate(cal.get(Calendar.YEAR), cal.get(Calendar.MONTH), cal.get(Calendar.DAY_OF_MONTH));
        }
    });

    shell.pack();
    shell.open();

    while (!shell.isDisposed())
    {
        if (!display.readAndDispatch())
        {
            display.sleep();
        }
    }
    display.dispose();
}

使用java.util.Calendar

Calendar calendar = Calendar.getInstance();
calendar.add(Calendar.DAY_OF_MONTH, 2);

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM