-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 回答