Funções de Data e Hora (BibData)

Diversos métodos e funções para tratamento de datas e horas que estão contidos na biblioteca BibData foram disponibilizados para utilização dentro das units do VsScripter.

Segue as assinaturas dos referidos métodos e uma breve descrição de sua função:

  • function DataEHora(const dt: TDate; const hr: TTime): TDateTime;
    Retorna a data concatenada com a hora em um único DateTime.

  • function DateOf(Valor: Variant): TDateTime;
    Converte Valor em um TDate e retorna-o. Se data em branco, retorna a data atual(date).

  • function DateOfZ(Valor: Variant): TDateTime;
    Converte Valor em um TDate e retorna-o. Se data em branco, retorna DateZero.

  • function DataZero: TDateTime;
    Retorna a data zero (00/00/0000) (usado em SeekN)

  • function DataNull(dData: TDateTime): Variant;
    Retorna a data Null se DataZero (usado em Replace).

  • function DataNullIsZero(dData: TDateTime): Variant;
    Retorna 0 quando a data for null.

  • function PriDia(dData: TDateTime): TDateTime;
    Retorna o primeiro dia do mês da data selecionada

  • function PriDiaMes(nMes, nAno: Integer): TDateTime;
    Retorna o primeiro dia do mês.

  • function PriDiaMes(dData: TDateTime): TDateTime;
    Retorna o primeiro dia do mês.

  • function PriDiaAno(nAno: Integer): TDateTime;
    Retorna o primeiro dia do ano.

  • function PriDiaAno(dRef: TDateTime): TDateTime;
    Retorna o primeiro dia do ano

  • function PriDiaSem(dRef: TDateTime): TDateTime;
    Retorna o primeiro dia do semestre

  • function PriHoraDia(dData: TDateTime): TDateTime;
    Retorna a data com o horário '00:00:00'.

  • function UltDia(nMes, nAno: Word): TDateTime;
    Retorna o ultimo dia do mês da data selecionada

  • function UltDia(dData: TDateTime): TDateTime;
    Retorna o ultimo dia do mês da data selecionada

  • function UltDiaAno(nAno: Integer): TDateTime;
    Retorna o ultimo dia do ano da data selecionada.

  • function UltDiaAno(dRef: TDateTime): TDateTime;
    Retorna o ultimo dia do ano da data selecionada.

  • function UltHoraDia(dData: TDateTime): TDateTime;
    Retorna a data com o horário ' 23:59:59'.

  • function Dia(dData: TDateTime): Byte;
    Retorna o dia da data informada.

  • function Mes(dData: TDateTime): Byte;
    Retorna o mês da data informada.

  • function Ano(dData: TDateTime): Integer;
    Retorna o ano da data informada.

  • function MinYear: Integer;
    Retorna o valor 100 (menor ano possível para os campos de data).

  • function MaxYear: Integer;
    Retorna 9999 (maior ano possível para os campos de data).

  • function MinDateTime: TDateTime;
    Retorna a menor data possível para um campo de data (01/01/0100).

  • function MaxDateTime: TDateTime;
    Retorna a maior data possível para um campo de data(31/12/9999 11:59:59.999).

  • function MesAbreviado(nMes: Byte): String;
    Retornar o nome abreviado do mês (Jan .. Dez).

  • function MesExtenso(nMes: Byte): String;
    Retornar o nome do mês (Janeiro .. Dezembro);

  • function MesAnoExtenso(const dData: TDateTime): String;
    Retorna o nome do mês + o ano. Ex: Janeiro de 2022.

  • function DataExtenso(const dData: TDateTime): string;
    Retorna a data p/ extenso no formato: 01 de fevereiro de 2022

  • function DateTimeToDate(dData: TDateTime): TDateTime;
    Retorna a data passada sem os valores de hora.

  • function DataMais(dData:TDateTime; nDias:Integer): TDateTime;
    Retorna a data passada + nDias, se a data for invalida, retorna data atual + nDias

  • function DataMenos(dData:TDateTime; nDias:Integer): TDateTime;
    Retorna a data - nDias, se a data for invalida, retorna data atual - nDias

  • function DataMaior(dData1, dData2: TDateTime): TDateTime;
    Retorna a maior entre as duas datas.

  • function DataMenor(dData1, dData2: TDateTime): TDateTime;
    Retorna a menor entre as duas datas.

  • function DataMenorNaoZero(dData1, dData2: TDateTime): TDateTime;
    Retorna a menor data não zero entre as duas datas.

  • function DataEMaior(dData1, dData2: TDateTime): Boolean;
    Retorna True se data1 > que data2.

  • function DataEntre(const dtBase, dtini, dtfim: TDateTime): Boolean;
    Retorna True se dtBase esta entre dtini e dtfim.

  • function DMYToD(nDia, nMes, nAno: Word): TDateTime;
    Retornaa nDia/nMes/nAno como data.

  • function AddMes(const dData: TDateTime; const nMeses: Integer = 1): TDateTime;
    Retornaa a data acrescida de <nMeses>.

  • function SubMes(const dData: TDateTime; const nMeses: Integer = 1): TDateTime;
    Retorna a data subtraindo <nMeses>.

  • function AddQuinzena(dData: TDateTime; nQuinz: integer): TDateTime;
    Soma a quantidade de quinzenas à dData e retorna a data de inicio da quinzena.

  • function DToS(const dData: TDateTime; Barras: Boolean = False): String;
    Retorna a data no formato:
    YYYY/MM/DD Se Barras = True
    YYYYMMDD Se Barras = False.

  • function DToC(const dData: TDateTime; lAno4: Boolean = True): string;
    Retorna a data no formato:
    DD/MM/YYYY Se lAno4 = True
    DD/MM/YY Se lAno4 = False.

  • function DToDMYS(dData: TDateTime): string;
    Retorna dData como ddmmyyyy.

  • function DToYMn(dData: TDateTime): integer;
    Retornar dData como yyyymm numérico.

  • function YMDToDMY(sData: String; Barras: Boolean): String;
    Retorna sData (yyyy/mm/dd ou yyyymmdd) no formato:
    DD/MM/YYYY Se Barras = True
    DDMMYYYY Se Barras = False.

  • function YMDToD(sData: String): TDateTime;
    Retorna sData(yyyy/mm/dd ou yyyymmdd) no formato data.

  • function NomeDiaSemana(const dData: TDateTime; const Tipo: Byte): string;
    Retorna o Nome do Dia da Semana (Ex. Sábado, Segunda-Feira)
    Tipo = 1 : Segunda-feira, Terça-feira, etc.
    Tipo = 2 : Seg, Ter, Qua, Qui, Sex, etc.

  • function SemanaDoAno(const dData: TDateTime): Integer;
    Retorna o número da semana da data, em relação ao inicio do ano. A primeira semana do ano, retorna 1, a segunda 2 e assim por diante.

  • function QuinzenaDoAno(const dData: TDateTime): Integer;
    Retorna o número da quinzena da data, em relacao ao inicio do ano, A primeira quinzena do ano, retorna 1, a segunda 2 e assim por diante.

  • function MascData(TipoMasc: TipoMaskData; dData: TDateTime): string;
    Retorna a mascara a ser usada pelo FormatDateTime

  • function JuntaData(const dData1, dData2: TDateTime; const cCon: string; lMostrarAnoSempre: boolean = False): string;
    Retorna datas na forma:
    01/10/95 a 01/10/95 -> 01/10/1995
    01/10/95 a 31/10/95 -> Out/1995
    01/10/95 a 15/10/95 -> 01 a 15/10/1995
    01/10/95 a 30/11/95 -> 01/10 a 30/11/1995

  • function AnoBis(Data: TDateTime): Boolean;
    Testa se um ano é bissexto, retornando True em caso positivo.

  • function DiasNoMes(Data: TDateTime): Integer;
    Retorna o número de dias de um determinado mês;

  • function DiaUtilAnterior(dData: TDateTime): TDateTime;
    Retorna o ultimo dia útil caso a data informada caia em um fim de semana.

  • function NumDiasExtenso(NumDias: integer):string;
    Retorna o número de dias calculados em extenso: xx anos, xx meses e xx dias.

  • function IdadeAtual(Nasc: TDateTime): Integer;
    Retorna a idade atual de uma pessoa a partir da data de nascimento.
    Esta função retorna a idade em formato integer.

  • function IdadeN(Nascimento: TDateTime): String;
    Retorna a idade de uma pessoa a partir da data de nascimento
    Esta função retorna a idade em formato string: xx anos, xx meses e xx dias

  • function Hora: string;
    Retorna a hora atual no padrão hh:mm:ss.

  • function HoraStr: string;
    Retorna a hora atual no padrão hh:mm:ss.

  • function Horas(const dDataHora: TDateTime): Integer;
    Retorna a hora passada em dDataHora.

  • function ExtractHora(const dDataHora: TDateTime): Integer;
    Retorna a hora passada em dDataHora.

  • function DifHora(const Inicio, Fim: String): String;
    Retorna a diferença entre duas horas.

  • function HoraToMin(Hora: String): Integer;
    Converte hora (formato HH ou HH:MM) para minutos.

  • function HoraToSeg(Hora: String): Integer;
    Converte hora (formato HH ou HH:MM ou HH:MM:SS) para segundos.

  • function HoraValida(strh: string): Boolean;
    Testa se uma string no formato Hora (HH:MM ou HH:MM:SS) é valida ou não.

  • function AnosMesesDiasExtenso(const Anos, Meses, Dias: integer): string;
    Retorna os números no formato: xx anos, xx meses e xx dias.

  • function DataHoraUTC: TDateTime;
    Retorna a Hora universal UTC (Tempo universal coordenado).

  • function FusoHorarioWindows: String;
    Retorna o fuso horário configurado no Windows como no exemplo:
    (GMT -03:00) Horário brasileiro de verão.

  • function DataHoraNoFuso(idFuso: Integer): TDateTime;
    Retorna a data e hora no fuso horário solicitado.

  • function FusoHorarioWindowsInteger: Integer;
    Retorna apenas o valor do FusoHorario. Ex. 3.

  • function FusoHorarioWindowsHora: TTime;
    Retorna o fuso horário do Windows.

  • function CorrigeHoraWindowsParaFuso(DataHora: TDateTime; FusoCorrigir: Integer): TDateTime;
    Retorna a DataHora passada para o fuso informado.

  • function MesesDiasEntreDatas(AdData1, AdData2: TDateTime): RMesesDiasResult;
    Retorna o número de meses e dias entre duas datas no record RMesesDiasResult.

  • function Bimestre(AnMes: Integer): Integer;
    Retorna o bimestre do mês informado.

  • function DataInicialBimestre(AdData :TDateTime): TDateTime;
    Retorna a o data inicial do bimestre ao qual AdData pertence.

  • function DataFinalBimestre(AdData :TDateTime): TDateTime;
    Retorna a o data final do bimestre ao qual AdData pertence.

  • function Trimestre(AnMes: Integer): Integer;
    Retorna o trimestre ao qual AnMes pertence.

  • function DataInicialTrimestre(AdData: TDateTime): TDateTime;
    Retorna a o data inicial do trimestre ao qual AdData pertence.

  • function DataFinalTrimestre(AdData: TDateTime): TDateTime;
    Retorna a o data inicial do trimestre ao qual AdData pertence.

  • function Semestre(AnMes: Integer): Integer;
    Retorna o semestre ao qual o mês pertence.

  • function DataFinalSemestre(AdData: TDateTime): TDateTime;
    Retorna a o data final do semestre ao qual AdData pertence.

  • function QuinzenaDoMes(AdData: TDateTime): Integer;
    Retorna a quinzena do mês ao qual AdData pertence.

  • function DataFinalQuinzena(AdData: TDateTime): TDateTime;
    Retorna a data final da quinzena do mês ao qual AdData pertence.

  • function DataInicialQuinzena(AdData: TDateTime): TDateTime;
    Retorna a data final da quinzena do mês ao qual AdData pertence.

  • function TryEncodeDateTime(const AYear, AMonth, ADay, AHour, AMinute, ASecond,
    AMilliSecond: Word; out AValue: TDateTime): Boolean;
    Retorna a data criada com os valores passados.

  • function DecodeDataDanfe(AcData: String): String;
    Retorna a data do Danfe no formato 00:00:00.

  • function EncodeDateTime(const AYear, AMonth, ADay, AHour, AMinute, ASecond,
    AMilliSecond: Word): TDateTime;
    Retorna a data criada com os valores passados.

  • function ISODateToDate(const pDate: string): TDateTime;
    Retorna o valor de uma data no formato ISO convertido para o formato TDateTime

  • function ISOTimeStampToDateTime(const pDateTime: string): TDateTime;
    Retorna o valor de uma data e hora no formato ISO convertido para o formato TDateTime