Pessoal como faço para java.util.Calendar receba uma data em String no formato “31/12/2006”.
Como um java.util.Calendar recebe uma data em texto?
3 Respostas
Dá um olhada na documentação:
http://java.sun.com/j2se/1.4.2/docs/api/java/util/Calendar.html
Pesquisa no próprio forum onde já foram postadas dezenas de dúvidas semelhantes a sua.
T
import java.text.DateFormat;
import java.text.ParseException;
import java.text.SimpleDateFormat;
import java.util.Date;
import java.util.Calendar;
class String2Calendar {
public static void main(String[] args) {
DateFormat df = new SimpleDateFormat ("dd/MM/yyyy");
df.setLenient (false);
Date dt = null;
try { dt = df.parse ("31/12/2006"); } catch (ParseException ex) {
System.out.println ("Data inválida. ");
System.exit (1);
}
Calendar cal = Calendar.getInstance();
cal.setTime (dt);
//-- Imprimir um Calendar com toString não é muito útil. Exemplo:
/*
java.util.GregorianCalendar[time=1167530400000,areFieldsSet=true,areAllFieldsSet
=true,lenient=true,zone=java.util.SimpleTimeZone[id=America/Sao_Paulo,offset=-10
800000,dstSavings=3600000,useDaylight=true,startYear=0,startMode=3,startMonth=9,
startDay=8,startDayOfWeek=1,startTime=0,startTimeMode=0,endMode=3,endMonth=1,end
Day=15,endDayOfWeek=1,endTime=0,endTimeMode=0],firstDayOfWeek=2,minimalDaysInFir
stWeek=1,ERA=1,YEAR=2006,MONTH=11,WEEK_OF_YEAR=53,WEEK_OF_MONTH=5,DAY_OF_MONTH=3
1,DAY_OF_YEAR=365,DAY_OF_WEEK=1,DAY_OF_WEEK_IN_MONTH=5,AM_PM=0,HOUR=0,HOUR_OF_DA
Y=0,MINUTE=0,SECOND=0,MILLISECOND=0,ZONE_OFFSET=-10800000,DST_OFFSET=3600000]
*/
System.out.println (cal);
//-- Isto imprime algo como "Sun Dec 31 00:00:00 BRST 2006"
System.out.println (cal.getTime());
//-- Isto imprime "31/12/2006"
System.out.println (df.format (cal.getTime()));
}
}
P
tenhu uma classe muit boa que eu uso sempre...
ela é limpa clara e objetiva, retorna datas horas e tod mais no formato q quiser
import java.util.Calendar;
public class myCalendar {
private Calendar calendar;
/** Creates a new instance of myCalendar */
public myCalendar() {
calendar = Calendar.getInstance();
}
public String getData() {
String diaSemana, diaMes, mes, ano, hora;
diaSemana = getDiaSemana();
diaMes = getDia();
mes = getMes();
ano = getAno();
hora = getTime();
return diaSemana+", "+diaMes+" de "+mes+" de "+ano+", "+hora+" horas";
}
public String getDataSimples() {
String diaSemana, diaMes, mes, ano, hora;
diaSemana = getDiaSemana().substring(0,3);
diaMes = getDia();
mes = getMes().substring(0,3);
ano = getAno();
hora = getTime();
return diaSemana+", "+diaMes+" "+mes+" "+ano+", "+hora+" hs";
}
public String getDataNum() {
return getDia()+"/"+getMesNum()+"/"+getAno();
}
public String getTime() {
String hora = getHora();
String minuto = getMinuto();
String segundo = getSegundo();
if (hora.length()<2) hora = "0" + hora;
if (minuto.length()<2) minuto = "0" + minuto;
if (segundo.length()<2) segundo = "0" + segundo;
return hora+":"+minuto+":"+segundo;
}
public String getHora() {
return Integer.toString(calendar.get(Calendar.HOUR_OF_DAY));
}
public String getMinuto() {
return Integer.toString(calendar.get(Calendar.MINUTE));
}
public String getSegundo() {
return Integer.toString(calendar.get(Calendar.SECOND));
}
public String getDiaSemana() {
String dia = "";
switch (calendar.get(Calendar.DAY_OF_WEEK)) {
case 1:
dia = "Domingo";
break;
case 2:
dia = "Segunda-Feira";
break;
case 3:
dia = "Terça-Feira";
break;
case 4:
dia = "Quarta-Feira";
break;
case 5:
dia = "Quinta-Feira";
break;
case 6:
dia = "Sexta-Feira";
break;
case 7:
dia = "Sábado";
}
return dia;
}
public String getDia() {
return Integer.toString(calendar.get(Calendar.DAY_OF_MONTH));
}
public String getMesNum() {
return Integer.toString(calendar.get(Calendar.MONTH)+1);
}
public String getMes() {
String mes = "";
switch (calendar.get(Calendar.MONTH)) {
case 0:
mes = "Janeiro";
break;
case 1:
mes = "Fevereiro";
break;
case 2:
mes = "Março";
break;
case 3:
mes = "Abril";
break;
case 4:
mes = "Maio";
break;
case 5:
mes = "Junho";
break;
case 6:
mes = "Julho";
break;
case 7:
mes = "Agosto";
break;
case 8:
mes = "Setembro";
break;
case 9:
mes = "Outubro";
break;
case 10:
mes = "Novembro";
break;
case 11:
mes = "Dezembro";
break;
}
return mes;
}
public String getAno() {
return Integer.toString(calendar.get(Calendar.YEAR));
}
}
Criado 26 de maio de 2006
Ultima resposta 26 de mai. de 2006
Respostas 3
Participantes 4
Alura POO: o que é programação orientada a objetos? Aprenda os conceitos básicos da programação orientada a objetos, como classes, objetos, herança, encapsulamento e polimorfismo, com exemplos.
Casa do Codigo Inteligencia Artificial e ChatGPT: Da revolucao dos... Por Fabricio Carraro — Casa do Codigo