Obrigado pela ajuda Buno.
Abracos
Erivelto
- Original Message -
From: Bruno J. S. Peixoto [EMAIL PROTECTED]
To: [EMAIL PROTECTED]
Sent: Thursday, April 03, 2003 2:46 PM
Subject: Re: [java-list] Data do Sistema
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 = 8640;//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., correspondente à string passada como parâmetro.
*/
public void lerData(String dat)throws ExcecaoDataInvalida{
SimpleDateFormat d = new SimpleDateFormat(dd/MM/);
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) ){
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/, 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/, 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