Caro Erivelto,
Vc pode usar Calendar. Vc deve cria um novo objeto
desta classe usando o construtor padrão. Daí vc já
terá um obheto Calendar representando a tempo atual
(Data, hora, minuto, segundo e milisegundo). Depois
basta usar o método get para extrair as informações
que vc desejar.
Estou enviando em anexo uma classe que herda de
GragorianCalendar e que faz isso. Note que elas estão
com a declaração de pacote aqui da empresa, vc precisa
mudar a declaração para a sua estrutura.
Valeu!!!
Bruno Peixoto
--- Erivelto Paulo dos Santos
<[EMAIL PROTECTED]> escreveu: > Pessoal,
estou com um problema simples:
>
> Eu preciso pegar a data do sistema e colocar em uma
> string, eu sei que tenho que usar o metodo
> System.currentTimeMillis(). Alguem tem alguma rotina
> jah pronta para me enviar?
>
> Desde jah agradeco.
>
> Erivelto
>
_______________________________________________________________________
Yahoo! Mail
O melhor e-mail gratuito da internet: 6MB de espaço, antivírus, acesso POP3, filtro
contra spam.
http://br.mail.yahoo.com/
package com.fcosta.util.tempo;
import java.util.*;
import java.text.ParseException;
import java.text.SimpleDateFormat;
/**
*
* @versão 0.20 30 de Agosto 2000
* @author Apply Solutions
*
*/
public class Data extends GregorianCalendar{
private final double MILLI_SEC_DIA = 86400000;//Milisegundos em um dia
/**
*Construtores
*/
public Data(){
super();
}
public Data(String str)throws ExcecaoDataInvalida{
super();
this.lerData(str);
}
public Data(long milSec)throws ExcecaoDataInvalida{
super();
this.lerData(milSec);
}
/**
* Inicializa o objeto do tipo MinhaData com o valor GregorianCalendar,
* no formato dd.mm.yyyy, correspondente à string passada como parâmetro.
*/
public void lerData(String dat)throws ExcecaoDataInvalida{
SimpleDateFormat d = new SimpleDateFormat("dd/MM/yyyy");
d.setCalendar(this);
Date dt = new Date();
try{
dt=d.parse(dat);
this.setTime(dt);
if ( this.get(this.YEAR) < 0 || this.get(this.YEAR) >
9999){
throw new ExcecaoDataInvalida(dat,"Ano
inválido.");
}
}catch(ParseException pe){
throw new ExcecaoDataInvalida(dat);
}
}
/**
* Inicializa o objeto do tipo MinhaData com o valor GregorianCalendar,
* no formato dd/mm/yyyy, correspondente ao valor de milissegundos passado como
parâmetro.
*/
public void lerData(long milSec)throws ExcecaoDataInvalida{
this.setTimeInMillis(milSec);
this.lerData(this.escreveData());
}
/**
* Escreve, no formato dd/mm/yyyy, os valores de dia, mês e ano do
* objeto MinhaData.
*/
public String escreveData(){
String dia = this.get(this.DATE) + "";
if(dia.length()==1){
dia = "0" + dia;
}
String mes = (this.get(this.MONTH)+1) + "";
if(mes.length()==1){
mes = "0" + mes;
}
return dia+"/"+mes+"/"+this.get(this.YEAR);
}
/**
* retorna true se a data for menor que a data passada como parâmetro
*/
public boolean before(GregorianCalendar pData){
int dia1, dia2, mes1, mes2, ano1, ano2;
dia1 = this.get(this.DATE);
dia2 = pData.get(pData.DATE);
mes1 = this.get(this.MONTH);
mes2 = pData.get(pData.MONTH);
ano1 = this.get(this.YEAR);
ano2 = pData.get(pData.YEAR);
if (ano1 <= ano2){
if (ano1 < ano2){
return true;
}
if (mes1 <= mes2){
if (mes1 < mes2)
return true;
if (dia1 < dia2)
return true;
}
}
return false;
}
/**
* retorna true se a data for mior que a data passada como parâmetro
*/
public boolean after(GregorianCalendar pData){
int dia1, dia2, mes1, mes2, ano1, ano2;
dia1 = this.get(this.DATE);
dia2 = pData.get(pData.DATE);
mes1 = this.get(this.MONTH);
mes2 = pData.get(pData.MONTH);
ano1 = this.get(this.YEAR);
ano2 = pData.get(pData.YEAR);
return !(before(pData));
}
/**
* Retorna true se a data for igual à data passada como parâmetro
*/
public boolean today(){
int dia1, dia2, mes1, mes2, ano1, ano2;
Data pData = new Data();
dia1 = this.get(this.DATE);
dia2 = pData.get(pData.DATE);
mes1 = this.get(this.MONTH);
mes2 = pData.get(pData.MONTH);
ano1 = this.get(this.YEAR);
ano2 = pData.get(pData.YEAR);
if ( (ano1==ano2) && (mes1==mes2) && (dia1==dia2) ){
return true;
}
return false;
}
/**
* Retorna a quantidade de dias entre uma data e outra
*/
public int difDias(Data pData){
double milliSec1 = this.getTimeInMillis();
double milliSec2 = pData.getTimeInMillis();
double numDias = ((milliSec2 - milliSec1)/MILLI_SEC_DIA) + 1;
int intDias = (int)(Math.floor(numDias));
return intDias;
}
}
package com.fcosta.util.tempo;
/**
* @author Apply Solutions
*
*/
public class ExcecaoDataInvalida extends Exception{
private Object obj;
/**
* Construtor.
* Chama o construtor da classe mãe e inicializa o atributo obj para que ele possa
* ser retornado.
*/
public ExcecaoDataInvalida(Object ob){
super("Data inválida.");
obj=ob;
}
public ExcecaoDataInvalida(Object ob,String msg){
super(msg);
obj = ob;
}
/**
* Retorna o nome da classe do objeto que causou a exceção.
*/
public String getClassName(){
return obj.getClass().getName();
}
/**
* Retorna o objeto que causou a exception.
*/
public Object getObject(){
return obj;
}
}
------------------------------ LISTA SOUJAVA ----------------------------
http://www.soujava.org.br - Sociedade de Usuários Java da Sucesu-SP
dúvidas mais comuns: http://www.soujava.org.br/faq.htm
regras da lista: http://www.soujava.org.br/regras.htm
historico: http://www.mail-archive.com/java-list%40soujava.org.br
para sair da lista: envie email para [EMAIL PROTECTED]
-------------------------------------------------------------------------