Java – Usando o SimpleDateFormat

Acredito que varias pessoas já tiveram problemas com o objeto Date, ou ajustar uma String de data com formato americano por exemplo.

O SimpleDateFormat é uma Classe bem simples de ser utilizada e totalmente útil para esse assunto. Com o SimpleDateFormat você pode definir seus próprios padrões de data, por exemplo, dd/mm/aaaa, dd/mm/aaaa, aaaa-mm-dd, e assim por diante. Os padrões de letras são definidas na imagem abaixo (todos os outros caracteres de ‘A’ a ‘Z’ e de ‘a’ a ‘z’ são reservados):

Tabela SimpleDateFormat

Abaixo  vamos mostrar um exemplo bem simples da utilização dessa Classe.

Nele criamos um padrão Mês/Dia/Ano (de acordo com a tabela acima) e construímos o SimpleDateFormat(sdf) com esse padrão.Após isso criamos um Date através do sdf passando a data como uma String de acordo com o padrão. Na linha 16 formatamos um novo Objeto Date que tem a data atual. depois alteramos o padrão para Dia/Mês/Ano Hora:Minuto:Segundo e pegamos a String através de um new Date.

import java.text.ParseException;
import java.text.SimpleDateFormat;
import java.util.Date;

public class MainClass {
  public static void main(String[] args) {
    String padrao = "MM/dd/yyyy";
    SimpleDateFormat sdf = new SimpleDateFormat(padrao);
    try {
      Date date = sdf.parse("12/30/2012");
      System.out.println(date);
    } catch (ParseException e) {
      e.printStackTrace();
    }
    // formatando "MM/dd/yyyy"
    System.out.println(sdf.format(new Date()));

   // formatando "dd/MM/yyyy kk:mm:ss"
   padrao = "dd/MM/yyyy kk:mm:ss";
   sdf = new SimpleDateFormat(padrao);
   System.out.println(sdf.format(new Date()));
  }
}

A baixo seria a Saida:

Sun Dec 30 00:00:00 PST 2012
12/30/2012
30/12/2012 08:10:35

Help DEV – Analista desenvolvedor Java / Android

http://helpdev.com.br/zarelli

6 thoughts on “Java – Usando o SimpleDateFormat

  1. Por exemplo, estou com uma dúvida em um projeto que estou fazendo, e até agora não resolvi. Eu passo uma data da classe Calendar, da seguinte forma: values.put(“dataInicio”, DateFormat.format(“yyyy-MM-dd”, dataInicio).toString());
    Se eu quero recuperar através de um método values. Eu não vou ter nenhum tipo de data nem calendar… Estou pensando sinceramente em fazer um sdf pra isso. Se cuida ai e abraço.

  2. Não dá pra adicionar Date desta forma… no values.put() não tem nenhum tipo de data, apenas integer, string, boolean e por ai vai. Mas Date não tem nenhuma opção.

Deixe uma resposta

O seu endereço de email não será publicado Campos obrigatórios são marcados *

Você pode usar estas tags e atributos de HTML: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>