Conversão de Data

7 respostas
danrox.sa

Gente, tenho uma data “Fri Jan 12 15:49:33 BRST 2007” e preciso converter para String, alguém pode me ajudar?

7 Respostas

E

Você quer no formato dd/MM/yyyy (exemplo: 12/01/2007) ?

danrox.sa

Sim, pode ser!, para falar a verdade adicionei ao meu projeto o JCalender da http://www.toedter.com/en/jcalendar/index.html, e quando tento obter a data ele retorna nesse formato, até que eu consegui obter separadamente (dia, mês, ano), mais preciso da data em sí.

E

Ora, pois, pois.

import java.text.DateFormat;
import java.text.SimpleDateFormat;
...
Date data = ....; // o que você pegou do JCalendar
DateFormat df = new SimpleDateFormat ("dd/MM/yyyy");
String strData = df.format (data); // a string formatada como 12/01/2007 (por exemplo)
danrox.sa

Valeu cara, funfou certinho! :wink:

Eu tava até tentando fazer algo semelhante mais ao inves do “DateFormat df = new SimpleDateFormat (“dd/MM/yyyy”);”
eu estava tentando “SimpleDateFormat df = new SimpleDateFormat (“dd/MM/yyyy”);”
Há alguma diferença ou burrice minha mesmo ? KKKKKKKKKKK

E

Praticamente não há diferença.
Só que normalmente se usa assim (você usa, para o tipo de uma variável, a classe ou interface mais “elevada” que contenha os métodos que você quer usar).
No meu caso, eu poderia usar DateFormat (que é uma superclasse de SimpleDateFormat) ou até mesmo Format, mas normalmente quando se quer usar SimpleDateFormat, usa-se “format” (que converte um Date em uma String) e “parse” (que converte uma String em um Date), e nesse caso a superclasse que escolhi usar foi DateFormat, que contém esses 2 métodos.

Compare:
http://download.oracle.com/docs/cd/E17409_01/javase/6/docs/api/java/text/DateFormat.html
e
http://download.oracle.com/docs/cd/E17409_01/javase/6/docs/api/java/text/SimpleDateFormat.html

danrox.sa

Valeu cara, vou dar uma olhadinha!

fabiocsilva
O pulo do gato tá no Locale.US:
import java.text.ParseException;
import java.text.SimpleDateFormat;
import java.util.Date;
import java.util.Locale;

public class teste {
  public static void main(String[] args) {
    String patternEntrada = "E MMM dd HH:mm:ss z yyyy";
    String patternSaida = "dd/MM/yyyy";
    
    SimpleDateFormat formato = new SimpleDateFormat(patternEntrada, Locale.US);
    Date entrada = null;
    try {
      entrada = formato.parse("Fri Jan 12 15:49:33 BRST 2007");
      System.out.println(entrada);
    } 

    catch (Exception e) {
      e.printStackTrace();
    }
    // formatando
    formato = new SimpleDateFormat(patternSaida);
    System.out.println(formato.format(entrada));
  }
}

Usei esse fonte como referência:
[url]http://www.java2s.com/Tutorial/Java/0040__Data-Type/SimpleDateFormat.htm[/url]

Criado 19 de julho de 2010
Ultima resposta 19 de jul. de 2010
Respostas 7
Participantes 3