2012-02-22 8 views
2

私は、Javaアプリケーションを書くためにEclipseを使用しています。私のアプリケーションには、DateTimeウィジェット(org.eclipse.swt.widgets.datetime)が含まれています。私はデフォルト値を割り当てる正しい方法を理解できません。私は2012年2月1日のDateTime値を持っています。私はCalendarオブジェクトを使ってデフォルト値を設定しようとしています。私はそれがどのように動作するのか完全に理解していないと思います。DateTimeウィジェットの値を設定する方法

私はこれだけで、現在の日付を示し

Calendar.getInstance().setTime(startDate); 
StartDateWidget.setDate(Calendar.YEAR, Calendar.MONTH,Calendar.DATE); 

を試してみました。

そして、私はこれは、静的アクセサを使用についてEclipseでエラーを示しており、私はアプリケーションを実行すると、日付は2012年3月5日を示し

Calendar startCal = Calendar.getInstance(); 
startCal.setTime(startDate); 
StartDateWidget.setDate(startCal.YEAR, startCal.MONTH, startCal.DATE); 

を試してみました。

インターネットをチェックし、DateTimeウィジェットの使用例をたくさん見ましたが、既存のdatetime値からデフォルト値を設定する例は見つかりません。私は間違って何をしていますか?時間

Calendar startCal = Calendar.getInstance(); 
startDateWidget.setDate(startCal.get(Calendar.YEAR), startCal.get(Calendar.MONTH)-1, startCal.get(Calendar.DAY_OF_MONTH)); 

と同様に:あなたは間違ってカレンダーを使用している

答えて

3

、あなたのような何かを必要としています。

Calendar.YEARは、get()set()に手渡すことができる象徴的な値です。 Calendar javadoc

+0

ありがとう、それは私が探していた答えでした。 – Robbert

1

ええと...私はあなたがそれを望んでいないと思う。それはすべきではありません:

Calendar startCal = Calendar.getInstance(); startDateWidget.setDate(startCal.get(Calendar.YEAR), startCal.get(Calendar.MONTH), startCal.get(DAY_OF_MONTH));

はい、皆さん、Java Calendarの月は0ベースです! (しかし、今日は一貫性のために1ベースです。)Eclipse APIは、ちょっとした馬鹿馬鹿と一致するようですが、この場合はおそらく意味があります。

しかし、実際には、何が本当におそらくたいのは、単純です:MM:SS:MMフィールド、あなたが最初の選択肢をゼロにするために、それらを好む場合はHHが含まれます

Calendar startCal = Calendar.getInstance(); startDateWidget.setTime(startCal.getTime());

注意、あなたが欲しいものです。

関連する問題