-1

カレンダーを文字列に変更する際に問題が発生しています。プログラムを実行すると、カレンダーが日付に変更されません。これは私のコードです:

switch(selection){
    case 1:
        Calendar cal = Calendar.getInstance();
        cal.getTime().toString();
        LifeTimeMembers lifetime = new LifeTimeMembers();
        lifetime.setName(name);
        lifetime.setSurname(surname);
        lifetime.setAddress(address);
        lifetime.setJoinDate(cal);
        members.add(lifetime);
        break;
    case 2:
        cal.add(Calendar.YEAR, 1);
        YearlyMembers yearly = new YearlyMembers(name, surname, address, cal);
        members.add(yearly);
        break;
}
System.out.println("Member added");

誰か助けてくれませんか?

4

3 に答える 3

2

最初に次の日付をフォーマットします。

DateFormat dateFormat = new SimpleDateFormat("yyyy-MMM-dd");
Date d=dateFormat.format(cal);

その日付を解析して文字列にする

String dateAsStr = dateFormat.format(d);
于 2013-03-22T13:34:55.623 に答える
1

cal.getTime().toString();値を返していますが、それに対して何もしていません。

代わりに次のようなことをします

String timeAsString = cal.getTime().toString();そしてtimeAsString、プログラムで好きなように使用します。

Date.toString()のデフォルトのフォーマットを確認できます。フォーマットする場合は、DateFormatクラスのドキュメントを確認してください。

于 2013-03-22T13:15:07.033 に答える
0

あなたが何を望んでいるのかわかりませんが、おそらくこれでうまくいきます:

DateFormat dateFormat = new SimpleDateFormat("yyyy-MMM-dd");
dateFormat.setLenient(false);
Date d = cal.getTime();
String dateAsStr = dateFormat.format(d);
于 2013-03-22T13:13:22.353 に答える