Programação Delphi: Rotinas de Data / Hora

Compara dois valores de TDateTime (retorna "menos", "igual" ou "maior"). Ignora a parte da hora se os dois valores "caírem" no mesmo dia.

Função CompareDateTime

Compara dois valores de TDateTime (retorna "menos", "igual" ou "maior").

Declaração:
tipo TValueRelationship = -1..1
função CompareDateTime (const ADate, BDate: TDateTime): TValueRelationship

Descrição:
Compara dois valores de TDateTime (retorna "menos", "igual" ou "maior").

TValueRelationship representa o relacionamento entre dois valores. Cada um dos três valores de TValueRelationship possui uma constante simbólica "curtida":
-1 [LessThanValue] O primeiro valor é menor que o segundo valor.
0 [EqualsValue] Os dois valores são iguais.
1 [GreaterThanValue] O primeiro valor é maior que o segundo valor.
Resultados da data em:

LessThanValue se o ADate for anterior ao BDate.
EqualsValue se as partes de data e hora do ADate e BDate forem iguais
GreaterThanValue se ADate for posterior a BDate.

Exemplo:

var ThisMoment, FutureMoment: TDateTime; ThisMoment: = Agora; FutureMoment: = IncDay (ThisMoment, 6); // adiciona 6 dias. // CompareDateTime (ThisMoment, FutureMoment) retorna LessThanValue (-1) // CompareDateTime (FutureMoment, ThisMoment) retorna GreaterThanValue (1)
instagram viewer

Função CompareTime

Compara dois valores de TDateTime (retorna "menos", "igual" ou "maior"). Ignora a parte Data se ambos os valores ocorrerem ao mesmo tempo.

Declaração:
tipo TValueRelationship = -1..1
função CompareDate (const ADate, BDate: TDateTime): TValueRelationship

Descrição:
Compara dois valores de TDateTime (retorna "menos", "igual" ou "maior"). Ignora a parte da hora se ambos os valores ocorrerem ao mesmo tempo.

TValueRelationship representa o relacionamento entre dois valores. Cada um dos três valores de TValueRelationship possui uma constante simbólica "curtida":
-1 [LessThanValue] O primeiro valor é menor que o segundo valor.
0 [EqualsValue] Os dois valores são iguais.
1 [GreaterThanValue] O primeiro valor é maior que o segundo valor.
Resultados da data em:

LessThanValue se o ADate ocorrer no início do dia especificado pelo BDate.
EqualsValue se as partes de hora do ADate e BDate forem iguais, ignorando a parte da data.
GreaterThanValue se o ADate ocorrer no final do dia especificado pelo BDate.

Exemplo:

var ThisMoment, AnotherMoment: TDateTime; ThisMoment: = Agora; AnotherMoment: = IncHour (ThisMoment, 6); // adiciona 6 horas. // CompareDate (ThisMoment, AnotherMoment) retorna LessThanValue (-1) // CompareDate (AnotherMoment, ThisMoment) retorna GreaterThanValue (1

Função de data

Retorna a data atual do sistema.

Declaração:
tipo TDateTime = tipo Em dobro;

função data: TDateTime;

Descrição:
Retorna a data atual do sistema.

A parte integrante de um valor TDateTime é o número de dias que se passaram desde 30/12/1899. A parte fracionária de um valor TDateTime é a fração de um dia de 24 horas decorrido.

Para encontrar o número fracionário de dias entre duas datas, basta subtrair os dois valores. Da mesma forma, para incrementar um valor de data e hora em um determinado número fracionário de dias, basta adicionar o número fracionário ao valor de data e hora.

Exemplo: ShowMessage ('Hoje é' + DateToStr (Date));

Função DateTimeToStr

Converte um valor TDateTime em uma string (data e hora).

Declaração:
tipo
TDateTime = tipo Em dobro;

função DayOfWeek (Data: TDateTime): inteiro;

Descrição:
Retorna o dia da semana para uma determinada data.

DayOfWeek retorna um número inteiro entre 1 e 7, onde domingo é o primeiro dia da semana e sábado é o sétimo.
O DayOfTheWeek não é compatível com o padrão ISO 8601.

Exemplo:

const Days: array [1..7] da string = ('Domingo segunda terça quarta quinta sexta sábado') ShowMessage ('Hoje é' + Dias [DayOfWeek (Date)]); //Hoje é Segunda-feira

Função DaysBetween

Dá o número de dias inteiros entre duas datas especificadas.

Declaração:
função
DaysBetween (const ANow, AThen: TDateTime): Inteiro;

Descrição:
Dá o número de dias inteiros entre duas datas especificadas.

A função conta apenas dias inteiros. O que isso significa é que retornará 0 como resultado da diferença entre 01/05/2003 23:59:59 e 01/05/2003 23:59:58 - onde a diferença real é de um dia inteiro * menos 1 segundo .

Exemplo:

var dtNow, dtBirth: TDateTime; DaysFromBirth: número inteiro; dtNow: = Agora; dtBirth: = EncodeDate (1973, 1, 29); DaysFromBirth: = DaysBetween (dtNow, dtBirth); ShowMessage ('Zarko Gajic "existe" "+ IntToStr (DaysFromBirth) + 'dias inteiros!');

Função DateOf

Retorna apenas a parte Data do valor TDateTime, configurando Hora parte como 0.

Declaração:
função
DateOf (Data: TDateTime): TDateTime

Descrição:
Retorna apenas a parte Data do valor TDateTime, configurando Hora parte como 0.

DateOf define a parte da hora como 0, o que significa meia-noite.

Exemplo:

var ThisMoment, ThisDay: TDateTime; ThisMoment: = Agora; // -> 06/27/2003 10:29:16:138. ThisDay: = DateOf (ThisMoment); // Este dia: = 27/06/2003 00: 00: 00: 000

Função DecodeDate

Separa os valores Ano, Mês e Dia de um valor TDateTime.

Declaração:
procedimento
DecodeDate (Data: TDateTime; var Ano, Mês, Dia: Word) ;;

Descrição:
Separa os valores Ano, Mês e Dia de um valor TDateTime.

Se o valor TDateTime fornecido for menor ou igual a zero, os parâmetros de retorno ano, mês e dia serão todos definidos como zero.

Exemplo:

var Y, M, D: Palavra; DecodeDate (Data, Y, M, D); se Y = 2000 então. ShowMessage ('Você está em um século "errado!);

Função EncodeDate
Cria um valor TDateTime a partir dos valores Ano, Mês e Dia.

Declaração:
função
EncodeDate (Ano, Mês, Dia: Word): TDateTime

Descrição:
Cria um valor TDateTime a partir dos valores Ano, Mês e Dia.

O ano deve estar entre 1 e 9999. Os valores válidos do mês são de 1 a 12. Os valores válidos do dia são de 1 a 28, 29, 30 ou 31, dependendo do valor do mês.
Se a função falhar, EncodeDate gera uma exceção EConvertError.

Exemplo:

var Y, M, D: Palavra; dt: TDateTime; y: = 2001; M: = 2; D: = 18; dt: = DataCode (Y, M, D); ShowMessage ('Borna será. um ano de idade em '+ DateToStr (dt))

Função FormatDateTime
Formata um valor TDateTime para uma sequência.

Declaração:
função
FormatDateTime (const Fmt: string; Valor: TDateTime): corda;

Descrição:
Formata um valor TDateTime para uma sequência.

FormatDateTime usa o formato especificado pelo parâmetro Fmt. Para os especificadores de formato suportados, consulte os arquivos de ajuda do Delphi.

Exemplo:

var s: string; d: TDateTime;... d: = agora; // hoje + hora atual. s: = FormatDateTime ('dddd', d); // s: = quarta-feira. s: = FormatDateTime ('"Hoje é" dddd "minuto" nn', d) // s: = Hoje é quarta-feira minuto 24

Função IncDay

Adiciona ou substrata um determinado número de dias a partir de um valor de data.

Declaração:
função
IncDay (ADate: TDateTime; Dias: Inteiro = 1): TDateTime;

Descrição:
Adiciona ou substrata um determinado número de dias a partir de um valor de data.

Se o parâmetro Days for negativo, a data retornada será

Exemplo:

var Data: TDateTime; EncodeDate (Data, 2003, 1, 29) // 29 de janeiro de 2003. IncDay (Data, -1) // 28 de janeiro de 2003

Função agora

Retorna a data e hora atuais do sistema.

Declaração:
tipo
TDateTime = tipo Em dobro;

função Agora: TDateTime;

Descrição:
Retorna a data e hora atuais do sistema.

A parte integrante de um valor TDateTime é o número de dias que se passaram desde 30/12/1899. A parte fracionária de um valor TDateTime é a fração de um dia de 24 horas decorrido.

Para encontrar o número fracionário de dias entre duas datas, basta subtrair os dois valores. Da mesma forma, para incrementar um valor de data e hora em um determinado número fracionário de dias, basta adicionar o número fracionário ao valor de data e hora.

Exemplo: ShowMessage ('Agora é' + DateTimeToStr (Now));

Função YearsBetween

Dá o número de anos inteiros entre duas datas especificadas.

Declaração:
função
YearsBetween (const SomeDate, AnotherDate: TDateTime): Inteiro;

Descrição:
Dá o número de anos inteiros entre duas datas especificadas.

YearsBetween retorna uma aproximação com base em uma suposição de 365,25 dias por ano.

Exemplo:

var dtSome, dtAnother: TDateTime; DaysFromBirth: número inteiro; dtSome: = EncodeDate (2003, 1, 1); dtAnother: = EncodeDate (2003, 12, 31); YearsBetween (dtSome, dtAnother) == 1 // ano não bissexto. dtSome: = EncodeDate (2000, 1, 1); dtAnother: = EncodeDate (2000, 12, 31); YearsBetween (dtSome, dtAnother) == 0 // ano bissexto
instagram story viewer