我在将日历更改为字符串时遇到问题。运行程序时,日历不会更改为日期。这是我的代码:
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");
有人能帮助我吗?
答案 0 :(得分:2)
首先格式化即将到来的日期。
DateFormat dateFormat = new SimpleDateFormat("yyyy-MMM-dd");
Date d=dateFormat.format(cal);
将该日期解析为字符串
String dateAsStr = dateFormat.format(d);
答案 1 :(得分:1)
cal.getTime().toString();
正在返回一个值,但你没有做任何事情。
而是做类似
的事情 String timeAsString = cal.getTime().toString();
,然后在您的计划中使用timeAsString
。
您可以看到Date.toString()的默认格式。如果要对其进行格式化,请查看DateFormat类的文档。
答案 2 :(得分:0)
我不确定你想要什么,但也许会这样做:
DateFormat dateFormat = new SimpleDateFormat("yyyy-MMM-dd");
dateFormat.setLenient(false);
Date d = cal.getTime();
String dateAsStr = dateFormat.format(d);