Olá pessoal,
tô com o seguinte problema: tenho uma classe que recebe uma data no formato string e o método converte para Calendar. Mas para imprimir a data vem mal formatada.
Essa é a saída Data convertida: java.util.GregorianCalendar[time=1352599200000,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=2,minimalDaysInFirstWeek=1,ERA=1,YEAR=2012,MONTH=10,WEEK_OF_YEAR=46,WEEK_OF_MONTH=2,DAY_OF_MONTH=11,DAY_OF_YEAR=316,DAY_OF_WEEK=1,DAY_OF_WEEK_IN_MONTH=2,AM_PM=0,HOUR=0,HOUR_OF_DAY=0,MINUTE=0,SECOND=0,MILLISECOND=0,ZONE_OFFSET=-10800000,DST_OFFSET=3600000]
Segue o código
package com.conversor;
import java.text.ParseException;
import java.text.SimpleDateFormat;
import java.util.Calendar;
import java.util.Scanner;
public class ConverterData {
public Calendar formatarData(String data) {
if (data == null || data.equals(""))
return null;
Calendar dataReserva = null;
try{
SimpleDateFormat sdf = new SimpleDateFormat("dd/MM/yyyy");
dataReserva = Calendar.getInstance();
dataReserva.setTime(sdf.parse(data));
}catch(ParseException e) {
System.out.println("Erro: " + e);
}
return dataReserva;
}
public static void main(String[] args) throws Exception {
Scanner scanner = new Scanner(System.in);
String dataString;
System.out.println("Digite a data no formato: (dd/MM/yyyy)");
dataString = scanner.nextLine();
System.out.println("\nData convertida: " + new ConverterData().formatarData(dataString));
}
}