1

値と日付の値をレコード店に保管しています。日付フィールドを次のように設定しています。

StartDate = new DateField("Start Date ", DateField.DATE);
                cal1 = Calendar.getInstance();
                cal1.set(Calendar.YEAR, 2009);
                cal1.set(Calendar.MONTH, 0);
                cal1.set(Calendar.DAY_OF_MONTH, 1);
                StartDate.setDate(cal1.getTime());

次のように日付を文字列として保存します。

 strStartDate = cal1.get(cal1.DAY_OF_MONTH) + "/" +
                (cal1.get(cal1.MONTH) + 1) + "/" +
                cal1.get(cal1.YEAR);
 String detailsToAdd = strStartDate

(コードを短くしました。)これで、将来の段階で日付を編集できるようにしたいと思います。ただし、これを実行できるようにするためのコードが必要です。これまでのところ:

EStartDate = new DateField("Start Date ", DateField.DATE);

DateFieldこれは他のものと矛盾していたので、私は箱の名前を変更しなければなりませんでした。

基本的に、選択したレコードの日付属性を表示できる必要があります。現在、他の情報を表示しています。正しい日付を表示できるようにする必要があります。プログラムを実行すると、日付フィールドに「 。」と表示され<date>ます。

どんな助けでもいいでしょう

4

3 に答える 3

1

次の最初のコードは正しいです。

            StartDate = new DateField("Start Date ", DateField.DATE);
            cal1 = Calendar.getInstance();
            cal1.set(Calendar.YEAR, 2009);
            cal1.set(Calendar.MONTH, 0);
            cal1.set(Calendar.DAY_OF_MONTH, 1);
            StartDate.setDate(cal1.getTime());

しかし、2 つ目の場合は、日付を String に直接保存することはできません。次のように文字列に変換する必要があります。

            String detailsToAdd =strStartDate.toString();
于 2011-09-07T19:27:18.107 に答える
0

実行しているロケールが区切り文字として/を含む日付を受け入れない可能性がありますか? あなたの例のように、文字列連結を使用せずに日付を作成するロケールに依存しない方法があると確信しています。

于 2009-04-09T22:35:22.597 に答える
0

あなたが提供したコードスニペットはsetDate(Date)を使用していません。実際のコードでもそれを使用しない場合<date>、フィールドでは正しい動作です。日付が「初期化されていない」ことがわかります。

その場合、最初に次のような単純なコードでスモーク テストを行います。

    eStartDate = new DateField("Start Date ", DateField.DATE);
    eStartDate.setDate(new Date());

次に、日付が表示されている場合は、必要な Date パラメータを から再作成する方法を学びますstrStartDate。つまり、ユーザーが変更できるようにする場合は再作成します。日付を表示するだけでよい場合は、StringItem代わりに必要な文字列を表示する方が簡単だからです。

于 2011-09-08T12:21:27.853 に答える