Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/date/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 将日历对象更改为字符串_Java_Date_Object_Calendar - Fatal编程技术网

Java 将日历对象更改为字符串

Java 将日历对象更改为字符串,java,date,object,calendar,Java,Date,Object,Calendar,我对将日历更改为字符串有问题。当我运行程序时,日历没有被更改为日期。这是我的代码: switch(selection){ case 1: Calendar cal = Calendar.getInstance(); cal.getTime().toString(); LifeTimeMembers lifetime = new LifeTimeMembers(); lifetime.setName(name);

我对将日历更改为字符串有问题。当我运行程序时,日历没有被更改为日期。这是我的代码:

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");

有人能帮帮我吗?

我不知道你想要什么,但也许这样可以:

DateFormat dateFormat = new SimpleDateFormat("yyyy-MMM-dd");
dateFormat.setLenient(false);
Date d = cal.getTime();
String dateAsStr = dateFormat.format(d);
cal.getTime().toString()
正在返回一个值,但您没有对其执行任何操作

而是做一些类似的事情

String timeAsString=cal.getTime().toString()
然后在程序中随意使用
timeAsString


您可以看到的默认格式。如果您想格式化它,那么请查看该类的文档。

首先格式化即将到来的日期

DateFormat dateFormat = new SimpleDateFormat("yyyy-MMM-dd");
Date d=dateFormat.format(cal);
将该日期解析为字符串

String dateAsStr = dateFormat.format(d);

无法理解您的问题。您希望通过cal.getTime().toString()行获得什么;和-setJoinDate的类型是什么?日期?勾选下面的bizmark答案。建议使用Joda Time来处理Java中的日期:我认为像这样简单的事情不需要Joda。为什么要添加另一个依赖项?这就是我在代码中得到的:Join Date:java.util.GregorianCalendar[time=1363959072596,areFieldsSet=true,areAllFieldsSet=true,lenient=true,zone=sun.util.calendar.ZoneInfo[id=“Europe/Berlin”,offset=3600000,dststavings=3600000,useDaylight=true,transitions=143,lastRule=java.util.SimpleTimeZone[id=Europe/Berlin,offset=3600000,dststavings=3600000,useDaylight=true,startYear=0,startMode=2,startMonth=2,startDay=1,startDayOfWeek=1,startDayOfWeek=1,startDayOfWeek=1,startDayOfWeek=3600000,startTime=2,endMonth=9,endDayOfWeek=1,endTime=2]],firstDayOfWeek=2,minimadaysInfirstWeek=4,ERA=1…你不需要这些东西。将加入日期设置为java.util.date-这就是你所需要的。为什么这么大惊小怪?