[RESOLVIDO]Criar data actual (com horas) através de P.O.O (programação orientada a objectos)

2 respostas
N

Boa tarde.

É o seguinte, eu criei uma classe Data que tem os seus atributos desde o ano até ao segundo e eu queria que estes recebessem o valor do tempo em que eu instanciei um objecto da Classe Data no meu Main. Tentei fazer através da Classe Calendar, mas o meu outup é sempre o mesmo e nada tem a ver com a data actual: 5/2/1 //outup

Outra coisa que me está a chatear é que tenho que importar todos os métodos da Classe Calendar no minha Classe Data quando nem os vou redefinir.
Será que estou a utillizar a melhor forma para resolver isto?

Grato pela vossa atenção
Cumprimentos

Deixo aqui o código da minha classe Data:
import java.util.Calendar;

public class Data {
  
    Calendar calendario = new Calendar() {

        @Override
        protected void computeTime() {
            throw new UnsupportedOperationException("Not supported yet.");
        }

        @Override
        protected void computeFields() {
            throw new UnsupportedOperationException("Not supported yet.");
        }

        @Override
        public void add(int field, int amount) {
            throw new UnsupportedOperationException("Not supported yet.");
        }

        @Override
        public void roll(int field, boolean up) {
            throw new UnsupportedOperationException("Not supported yet.");
        }

        @Override
        public int getMinimum(int field) {
            throw new UnsupportedOperationException("Not supported yet.");
        }

        @Override
        public int getMaximum(int field) {
            throw new UnsupportedOperationException("Not supported yet.");
        }

        @Override
        public int getGreatestMinimum(int field) {
            throw new UnsupportedOperationException("Not supported yet.");
        }

        @Override
        public int getLeastMaximum(int field) {
            throw new UnsupportedOperationException("Not supported yet.");
        }
    };
            
    public Data() {}
}

2 Respostas

juno.rr

Ola amigo.
Manipulação de datas é uma coisa precária em java ainda, a gente se obriga geralmente a usar bibliotecas de terceiros, como
o JodaTime (http://joda-time.sourceforge.net/) ou o Date4J (http://www.date4j.net/).
Particularmente não gosto de nenhuma das duas, o JodaTime por complicar demais uma coisa que tem que ser simples e o Date4J por não ter todos os recursos que desejo. Por isso uns dias atrás resolvi criar uma biblioteca para manipulação de datas. Se vc quizer, pode usar e alterar, ou pode dar uma olhada no código. são só duas classes, a SimpleDate que herda java.util.Date e a DateDiff pra calcular diferença de tempo entre datas.
Espero que ajude.

N

Viva juno.rr

Obrigado por esse ficheiro…
Valeu mesmo :wink:
Possivelmente mente ainda virei a necessitar disso.

Eu fiz um downcast ou upcast (não sei bem porque não qual das classes está por cima) e assim consegui resolver o meu problema através desta linha de código:

Calendar calendario = new GregorianCalendar();

Cumprimentos :wink:

Criado 12 de abril de 2011
Ultima resposta 12 de abr. de 2011
Respostas 2
Participantes 2