Buscar

Quantas segundas tem num mês?

Código

Unit Unit1;
 
interface
 
uses SysUtils;
 
  function UltimoDiaMes(Mdt: TDateTime) : TDateTime;
  function QtdDiaSemana(Mdt: TDateTime; DiaSemana : Integer) : Integer;
 
implementation
 
function QtdDiaSemana(Mdt: TDateTime; DiaSemana : Integer) : Integer;
{Mdt = qualquer dia do mes DiaSemana = dia da semana procurado ( 1 a 7) retorna o quantidade de dias}
var
  ano, mes, UltimoDia : word;
  mDtTemp : TDateTime;
  I : Integer;
begin
  MdtTemp := UltimodiaMes(Mdt);
  Decodedate(MdtTemp, ano, mes, UltimoDia);
  MdtTemp := EncodeDate(ano,mes,1);
  result := 0;
  for I := 1 to UltimoDia do
  begin
  if DayOfWeek(Mdttemp) = DiaSemana then
  Inc(Result);
  MdtTemp := Mdttemp + 1;
  end;
end;
 
function UltimoDiaMes(Mdt: TDateTime) : TDateTime;
{ retorna o ultimo dia o mes, de uma data fornecida}
var
  ano, mes, dia : word;
  mDtTemp : TDateTime;
begin
  Decodedate(mDt, ano, mes, dia);
  mDtTemp := (mDt - dia) + 33;
  Decodedate(mDtTemp, ano, mes, dia);
  Result := mDtTemp - dia;
end;
 
end.

Publicidade

Vote na dica




Quantidade de votos: 0 votos
Aceitação: 0%


Detalhes da dica

Categoria: Data e hora
Adicionada dia: 24/06/03
Por: Felipe Monteiro
Visualizada: 1359 vezes

Planeta Delphi - Tudo sobre programação Delphi Planeta Delphi - www.planetadelphi.com.br - Todos os direitos reservados | Copyright 2001-2009