File.lastModified()

Estou recuperando a última dt de atualizacao de um arquivo
e convertendo para “DD/MM/YYYY hh:mm:SS”.
Depois gero um arquivo texto.
Consigo recuperar e converter, mas está me retornando com
3 horas a menos:

Ex:
Windows
arqA.doc 21/11/2007 12:26

Informacao gerada no arquivo texto
arqA.doc 21/11/2007 09:26:36 ( 3 horas a menos )

O código que estou usando é simples:

File arq;
String caminho = “path/arqA.doc”;

arq = new File(caminho);

Long ultDt = arq.lastModified();

DateFormat df = DateFormat.getDateTimeInstance();
String novaData = df.format(ultDt);

Alguém tem alguma idéia do que pode estar ocorrendo?

Obrigado.

3 horas = GMT - 3 (fuso horário brasileiro).

PS: Poste seus códigos dentre as tags e , isso mantém a formatação original do código.

Sua informação foi muito útil, cheguei a conclusão que era a data da minha
máquina que estava zoada.

Valeu!!

revivendo o topico…

eu tentei usar o que intendi do codigo do cara acima ai pra ver se aparecia o resultado (pra assim usa futuramente em uma aplicação que pega só os arquivos recentes), porem apareceu uma data meio estranha…

o programa gerou essa saida:

“a data de modificação do arquivo é 31/12/1969 21:00:00”

eu não sei se intendi direito o q q cada comando faz, coloquei de comentario o que intendi

eu usei esse codigo:


import java.io.File;
import java.text.DateFormat;
import javax.swing.JOptionPane;

public class Atualizador {
    
    /** Creates a new instance of Atualizador */
    public Atualizador() {
    }
    File f;
    public static void main(String args[]){
        Atualizador a=new Atualizador();
        a.metodo();
    }
    public void metodo(){
        
        //poe o ponteiro do arquivo a ser verificado no objeto a ser usado
        String arquivo="C:\compartilhados\aaa.txt";
        f=new File(arquivo);

        //pega a ultima modificação
        long codigo=f.lastModified();
        
        //formatando o codigo em uma data a ser usada
        DateFormat df = DateFormat.getDateTimeInstance();
        String data=df.format(codigo);
        
        //exibe
        //JOptionPane.showMessageDialog(null, "a data de modificação do arquivo é "+data);
        System.out.print("a data de modificação do arquivo é "+data);
    }
}

se alguem tiver ai algum material em portugues pra me arruma explicando como que funciona essa classe DateFormat, coisa assim pra mim corrigir, ou poder me explicar… eu fico mto grato…

ou sei la…mesmo material em ingles pode ajuda, mais eu leio mto pco em ingles…

obrigado desde ja pessoal…

só um detalhe q talves seja importante, esse arquivo aaa.txt ai, eu cabei de cria só pra testa…

estranhei agora pq depois de posta aki testei com outro arquivo ja existente no pc e deu uma data desse ano… (ja é uma grande melhoria…rs)

pessoal, eu testei com outros arquivos aqui, e a data de atualização bateu com a data do dos… normal…resolvido…

não intendi pq q deu aquela data doida no arquivo txt que eu tinha cabado de cria mais…blz, dexa pra la…