Página principal   Módulos   Lista de namespaces   Hierarquia de classes   Lista de componentes   Lista de ficheiros   Membros do namespace   Componentes membro   Ficheiros membro   Páginas relacionadas  

Referência à classe Utilitarios::Data
[Ferramentas de data e tempo]

Representa datas posteriores a 1582, i.e., datas no calendário Gregoriano, adoptado por Portugal e outros países católicos em 1582. Mais...

#include <Utilitarios/DataTempo/data.H>

Mostrar lista completa dos membros

Constantes estáticas

Ano const inicio_do_calendario_gregoriano = 1582
 Constante que guarda o ano de início do calendário Gregoriano:.

int const ano_minimo = inicio_do_calendario_gregoriano + 1
 Constante que guarda o ano mínimo das datas (poder-se-ia ser menos estrito, considerando uma data mínima de dia 15 de Outubro de 1582).


Membros públicos

Construtores
 Data (Ano const ano, Mes const mes, Dia const dia)
 Constrói uma nova data com o ano, mes e dia dados.

 Data ()
 Constrói por omissão uma data com 2003/1/1.

 Data (long const dia_juliano)
 Constrói a classe a partir do dia Juliano.

Inspectores
Ano const & ano () const
 Devolve o ano correspondente à data.

Mes const & mes () const
 Devolve o mes correspondente à data.

Dia const & dia () const
 Devolve o dia correspondente à data.

DiaDaSemana diaDaSemana () const
 Devolve o dia da semana correspondente à data.

long int diaJuliano () const
 Devolve o dia Juliano correspondente à data.

int numeroDeDiasNoMes () const
 Devolve o número de dias no mês e ano da data.

Predicados
bool anoEBissexto () const
 Indica se o ano da data é bissexto.

Serializadores
 Data (std::istream &entrada)
 Constrói uma data a partir de um canal de entrada.

void carregaDe (std::istream &entrada)
 Carrega uma data a partir de um canal de entrada.

void guardaEm (std::ostream &saida) const
 Guarda os dados da data num canal de saida.

Operadores aritméticos
Data & operator++ ()
 Incrementa uma data (versão prefixa).

Data & operator-- ()
 Decrementa uma data (versão prefixa).

Data operator++ (int)
 Incrementa uma data (versão sufixa).

Data operator-- (int)
 Decrementa uma data (versão sufixa).

Data & operator+= (Duracao const &duracao)
 Avança uma data de uma dada duração.

Data & operator-= (Duracao const &duracao)
 Recua uma data de uma dada duração.


Membros públicos estáticos

Operações de classe
Data actual ()
 Devolve a data actual.

void estabeleceDataActualPedidaAoUtilizador ()
 Faz com que a data actual seja pedida ao utilizador e não obtida do sistema.

void estabeleceDataActualObtidaDoSistema ()
 Faz com que a data actual seja obtida do sistema e não pedida ao utilizador.


Descrição detalhada

Representa datas posteriores a 1582, i.e., datas no calendário Gregoriano, adoptado por Portugal e outros países católicos em 1582.

Esta classe ainda não está completa, pois não permite ainda o acrescento de meses ou anos, apenas de dias.

Note-se que em muitos países o calendário gregoriano foi adoptado mais tarde: 1752 no Reino Unido, por exemplo. Ver http://www.geocities.com/calendopaedia/gregory.htm para as datas precisas da mudança em vários países.

Segue abaixo um pequeno exemplo de utilização que se espera seja auto-explicativo:

#include <iostream>
        
#include <Utilitarios/data.H>
        
using namespace std;
        
using namespace Utilitarios;
        
int main()
{
    Data data(1965, setembro, 14);

    cout << "A data é " << data << '.' << endl;

    Data data_actual = Data::actual();

    cout << "A data actual é " << data_actual << '.' << endl;

    cout << "Passaram " << data_actual - data << " dias desde " 
         << data << " até " << data_actual << '.' << endl;

    // A partir deste ponto a data actual não é obtida do sistema mas sim
    // pedida ao utilizador.  Usar para depuração!

    Data::estabeleceDataActualPedidaAoUtilizador();

    data_actual = Data::actual();

    cout << "A data actual é " << data_actual << '.' << endl;
}

Invariante:
ano_minimo <= ano_ e 0 < dia_ e dia_ <= numeroDeDiasEm(mes_, ano_)
Veja também:
Mes, Ano, Dia, DiaDaSemana

Definido na linha 402 do ficheiro data.H.


Documentação dos Construtores & Destrutor

Utilitarios::Data::Data Ano const    ano,
Mes const    mes,
Dia const    dia
[inline]
 

Constrói uma nova data com o ano, mes e dia dados.

Precondição:
ano_minimo <= ano e janeiro <= mes <= fevereiro e 0 <= dia <= numeroDeDiasEm(mes, ano).

Definido na linha 292 do ficheiro data_impl.H.

Referências ano(), Utilitarios::Ano, ano_minimo, Utilitarios::dezembro, dia(), Utilitarios::Dia, Utilitarios::janeiro, mes(), Utilitarios::Mes e Utilitarios::numeroDeDiasEm().

Utilitarios::Data::Data   [inline]
 

Constrói por omissão uma data com 2003/1/1.

Precondição:
V.
Poscondição:
ano() = 2003 e mes()= janeiro e dia() = 1.

Definido na linha 302 do ficheiro data_impl.H.

Referências Utilitarios::janeiro.

Referenciado por actual(), carregaDe(), operator+=(), operator--() e operator-=().

Utilitarios::Data::Data long const    dia_juliano [inline]
 

Constrói a classe a partir do dia Juliano.

Precondição:
dia_juliano é mesmo dia Juliano.
Poscondição:
Data tem a data correspondente aos dias da data juliana: Data(long const dia_juliano).

Definido na linha 309 do ficheiro data_impl.H.

Referências Utilitarios::Ano, Utilitarios::Dia e Utilitarios::Mes.

Utilitarios::Data::Data std::istream &    entrada [inline]
 

Constrói uma data a partir de um canal de entrada.

Precondição:
canal.good().
Poscondição:
Data é a data que se encontrava no canal de entrada.
Excepções:
ErroAoCarregar é lançada se a construção por carregamento falhar.

Definido na linha 385 do ficheiro data_impl.H.

Referências Utilitarios::dezembro, Utilitarios::il(), Utilitarios::janeiro, Utilitarios::Mes e mes().


Documentação dos métodos

Utilitarios::Ano const & Utilitarios::Data::ano   const [inline]
 

Devolve o ano correspondente à data.

Precondição:
V.
Poscondição:
ano = ano correspondente à data.

Definido na linha 333 do ficheiro data_impl.H.

Referenciado por Data().

Utilitarios::Mes const & Utilitarios::Data::mes   const [inline]
 

Devolve o mes correspondente à data.

Precondição:
V.
Poscondição:
mes = mês correspondente à data.

Definido na linha 340 do ficheiro data_impl.H.

Referenciado por Data().

Utilitarios::Dia const & Utilitarios::Data::dia   const [inline]
 

Devolve o dia correspondente à data.

Precondição:
V.
Poscondição:
dia = dia correspondente à data.

Definido na linha 347 do ficheiro data_impl.H.

Referenciado por Data().

Utilitarios::DiaDaSemana Utilitarios::Data::diaDaSemana   const [inline]
 

Devolve o dia da semana correspondente à data.

Precondição:
V.
Poscondição:
diaDaSemana = dia da semana correspondente à data.

Definido na linha 354 do ficheiro data_impl.H.

Referências Utilitarios::DiaDaSemana, diaJuliano() e Utilitarios::numero_total_de_dias_da_semana.

long int Utilitarios::Data::diaJuliano   const [inline]
 

Devolve o dia Juliano correspondente à data.

O dia Juliano é o número total de dias desde o meio dia de 1 de Janeiro de 4713 AC.

Precondição:
V.
Poscondição:
diaJuliano = dia Juliano correspondente à data.

Definido na linha 361 do ficheiro data_impl.H.

Referenciado por diaDaSemana().

int Utilitarios::Data::numeroDeDiasNoMes   const [inline]
 

Devolve o número de dias no mês e ano da data.

Precondição:
V.
Poscondição:
numeroDediasNoMes = numero de diasno mês e ano da data.

Definido na linha 371 do ficheiro data_impl.H.

Referências Utilitarios::numeroDeDiasEm().

bool Utilitarios::Data::anoEBissexto   const [inline]
 

Indica se o ano da data é bissexto.

Precondição:
V.
Poscondição:
anoEBissexto = ano da data é bissexto.

Definido na linha 378 do ficheiro data_impl.H.

Referências Utilitarios::eBissexto().

void Utilitarios::Data::carregaDe std::istream &    entrada [inline]
 

Carrega uma data a partir de um canal de entrada.

Precondição:
canal.good().
Poscondição:
*this é a data que se encontrava no canal de entrada.
Excepções:
ErroAoCarregar é lançada se o carregamento falhar.

Definido na linha 406 do ficheiro data_impl.H.

Referências Data().

void Utilitarios::Data::guardaEm std::ostream &    saida const [inline]
 

Guarda os dados da data num canal de saida.

Precondição:
canal.good().
Poscondição:
*this é a data que se encontra no canal de entrada.
Excepções:
ErroAoGuardar é lançada se a construção por carregamento falhar.

Definido na linha 416 do ficheiro data_impl.H.

Utilitarios::Data & Utilitarios::Data::operator++   [inline]
 

Incrementa uma data (versão prefixa).

Precondição:
*this = d.
Poscondição:
operator++ := *this = d + 1.

Definido na linha 429 do ficheiro data_impl.H.

Utilitarios::Data & Utilitarios::Data::operator--   [inline]
 

Decrementa uma data (versão prefixa).

Precondição:
Data(ano_minimo, 1, 1) < *this e *this = d.
Poscondição:
operator-- := *this = d - 1.

Definido na linha 440 do ficheiro data_impl.H.

Referências ano_minimo, Data() e Utilitarios::janeiro.

Utilitarios::Data Utilitarios::Data::operator++ int    [inline]
 

Incrementa uma data (versão sufixa).

Precondição:
*this = d.
Poscondição:
operator++ = d e *this = d + 1.

Definido na linha 452 do ficheiro data_impl.H.

Utilitarios::Data Utilitarios::Data::operator-- int    [inline]
 

Decrementa uma data (versão sufixa).

Precondição:
Data(ano_minimo, 1, 1) < *this e *this = d.
Poscondição:
operator-- = d e *this = d - 1.

Definido na linha 464 do ficheiro data_impl.H.

Referências ano_minimo, Data() e Utilitarios::janeiro.

Utilitarios::Data & Utilitarios::Data::operator+= Duracao const &    duracao [inline]
 

Avança uma data de uma dada duração.

Precondição:
Data(ano_minimo, 1, 1) + duracao <= *this e *this = d.
Poscondição:
operator+= := *this = d + duracao.

Definido na linha 478 do ficheiro data_impl.H.

Referências ano_minimo, Data(), Utilitarios::Duracao e Utilitarios::janeiro.

Utilitarios::Data & Utilitarios::Data::operator-= Duracao const &    duracao [inline]
 

Recua uma data de uma dada duração.

Precondição:
Data(ano_minimo, 1, 1) + duracao <= *this e *this = d.
Poscondição:
operator-= := *this = d - duracao.

Definido na linha 490 do ficheiro data_impl.H.

Referências ano_minimo, Data(), Utilitarios::Duracao e Utilitarios::janeiro.

Utilitarios::Data Utilitarios::Data::actual   [static]
 

Devolve a data actual.

A data actual é, por omissão, obtida do sistema aquando a invocação do método de classe. Mas pode ser obtida do utilizador, para efeitos de depuração.

Precondição:
V.
Poscondição:
actual é a data actual no sistema ou, se a data manual estiver activa, é uma data pedida ao utilizador....

Definido na linha 75 do ficheiro data.C.

Referências Data(), Utilitarios::ill() e Utilitarios::Mes.

void Utilitarios::Data::estabeleceDataActualPedidaAoUtilizador   [inline, static]
 

Faz com que a data actual seja pedida ao utilizador e não obtida do sistema.

Útil para depuração.

Precondição:
V.
Poscondição:
Pedidos de data actual pedem valor ao utilizador.

Definido na linha 502 do ficheiro data_impl.H.

void Utilitarios::Data::estabeleceDataActualObtidaDoSistema   [inline, static]
 

Faz com que a data actual seja obtida do sistema e não pedida ao utilizador.

Precondição:
V.
Poscondição:
Pedidos de data actual passam a recorrer ao sistema.
Veja também:
estabeleceDataActualPedidaAoUtilizador().

Definido na linha 507 do ficheiro data_impl.H.


Documentação dos dados membro

Ano const Utilitarios::Data::inicio_do_calendario_gregoriano = 1582 [static]
 

Constante que guarda o ano de início do calendário Gregoriano:.

Definido na linha 614 do ficheiro data.H.

int const Utilitarios::Data::ano_minimo = inicio_do_calendario_gregoriano + 1 [static]
 

Constante que guarda o ano mínimo das datas (poder-se-ia ser menos estrito, considerando uma data mínima de dia 15 de Outubro de 1582).

Definido na linha 619 do ficheiro data.H.

Referenciado por Data(), operator+=(), operator--() e operator-=().


A documentação para esta classe foi gerada a partir dos seguintes ficheiros:
Gerado em Tue Dec 3 15:19:38 2002 para Pacotes por doxygen1.3-rc1