import java.text.SimpleDateFormat;
import java.util.Date;
public class Teste {
public static String formataData(String tipo, Date data){
SimpleDateFormat formata = new SimpleDateFormat(tipo);
return formata.format(data);
}
public static void main(String args[]){
Date data = new Date();
System.out.println( data );
/**
* fim dessa forma, mas achei burro ter que fazer varias vezes a mesma coisa
* ai resolvi criar o metodo acima
*/
SimpleDateFormat formAno = new SimpleDateFormat("yyyy");
SimpleDateFormat formMes = new SimpleDateFormat("MM");
SimpleDateFormat formDia = new SimpleDateFormat("dd");
String ano = formAno.format(data);
String mes = formMes.format(data);
String dia = formDia.format(data);
System.out.println(ano);
System.out.println(mes);
System.out.println(dia);
//teste do metodo
System.out.println( formataData("HH", data) );
}
}
galera
consegui fazer, mas consegui de duas formas
1º utilizando o SimpleDateFormat
Date data = new Date();
SimpleDateFormat formAno = new SimpleDateFormat("yyyy");
SimpleDateFormat formMes = new SimpleDateFormat("MM");
SimpleDateFormat formDia = new SimpleDateFormat("dd");
2º utilizando o GregorianCalendar
Date data = new Date();
Calendar c = new GregorianCalendar();
c.setTime(data);
int diaCalendario = c.get(Calendar.DAY_OF_MONTH);
int mesCalendario = c.get(Calendar.MONTH) + 1;
int anoCalendario = c.get(Calendar.YEAR);
agora vem a pergunta: qual forma devo utilizar? tem algum padrão? ou cada caso é um caso? se puderem me explicar o porque disso agradeço mais ainda.
[quote=paulofernandesjr]galera
consegui fazer, mas consegui de duas formas
1º utilizando o SimpleDateFormat
Date data = new Date();
SimpleDateFormat formAno = new SimpleDateFormat("yyyy");
SimpleDateFormat formMes = new SimpleDateFormat("MM");
SimpleDateFormat formDia = new SimpleDateFormat("dd");
2º utilizando o GregorianCalendar
Date data = new Date();
Calendar c = new GregorianCalendar();
c.setTime(data);
int diaCalendario = c.get(Calendar.DAY_OF_MONTH);
int mesCalendario = c.get(Calendar.MONTH) + 1;
int anoCalendario = c.get(Calendar.YEAR);
agora vem a pergunta: qual forma devo utilizar? tem algum padrão? ou cada caso é um caso? se puderem me explicar o porque disso agradeço mais ainda.
abraço
[/quote]
Use a segunda. Ela é mais rápida internamente porque faz apenas alguns cálculos e pronto, enquanto a primeira converte o Date em Strings e de Strings para números, um overhead desnecessário.