Exibição errada de um dado tipo Calendar

2 respostas Resolvido
programaçãojavamysql
J

Oi pessoal. Tô estudando pela apostila fj21 e no exercício 2.13 tô com problemas ao receber um dado do tipo Date do banco e atribuir o valor desse dado ao atributo de um objeto (que é do tipo Calendar). Eu fiz uns testes e o programa recebe corretamente a data (ex. 01-04-2017) mas quando eu printo o atributo do objeto ele exibe isso:

java.util.GregorianCalendar[time=1483495200000,areFieldsSet=true,areAllFieldsSet=true,lenient=true,zone=sun.util.calendar.ZoneInfo[id=“America/Sao_Paulo”,offset=-10800000,dstSavings=3600000,useDaylight=true,transitions=129,lastRule=java.util.SimpleTimeZone[id=America/Sao_Paulo,offset=-10800000,dstSavings=3600000,useDaylight=true,startYear=0,startMode=3,startMonth=9,startDay=15,startDayOfWeek=1,startTime=0,startTimeMode=0,endMode=3,endMonth=1,endDay=15,endDayOfWeek=1,endTime=0,endTimeMode=0]],firstDayOfWeek=1,minimalDaysInFirstWeek=1,ERA=1,YEAR=2017,MONTH=0,WEEK_OF_YEAR=1,WEEK_OF_MONTH=1,DAY_OF_MONTH=4,DAY_OF_YEAR=4,DAY_OF_WEEK=4,DAY_OF_WEEK_IN_MONTH=1,AM_PM=0,HOUR=0,HOUR_OF_DAY=0,MINUTE=0,SECOND=0,MILLISECOND=0,ZONE_OFFSET=-10800000,DST_OFFSET=3600000]

2 Respostas

Andrauss
Solucao aceita

Use um dateformatter, Exemplo:

new SimpleDateFormat("yyyy-MM-dd").format(seuCalendar.getTime());

Isso retorna uma String.

A impressão não está errada, ela só mostra o valor padrão do método toString() do Calendar.

J

Ah, entendi! Deu certo aqui. Muito obrigado!

Criado 4 de janeiro de 2017
Ultima resposta 5 de jan. de 2017
Respostas 2
Participantes 2