Entre para seguir isso  
Guest Amarildo

Função Para Identificar Se O Horario é Pm Ou Am

Recommended Posts

Guest Amarildo   
Guest Amarildo

Ola Pessoal, alguém teria a função para identificar se o horario e PM ou AM, obrg a todo que postarem aqui em meu auxilio, valeu

Compartilhar este post


Link para o post
Compartilhar em outros sites

Opa, teste isso ->

Se você tem um TDateTime e quer saber se é PM ou AM então ->

var
  T : TDateTime;
  PM : Boolean;
begin
  T:=Now;
  PM:=((T-Trunc(T)) > 0.5);
end;

Então se PM for true depois disso é que é PM, senão é AM.

Compartilhar este post


Link para o post
Compartilhar em outros sites
Guest Visitante   
Guest Visitante

OLa Pessoal, consegui descrever o comando acima, só não consegui entender como fazer para saber se é PM ou AM, peço ajuda, pois não tenho conhecimentos profundos na materia, obrg pela atenção, aguardo por maiores informacoes, obrg

Compartilhar este post


Link para o post
Compartilhar em outros sites

A função PM retorna True se for PM e False se for AM ->

Function PM(T : TDateTime) : boolean;
begin
  Result:=((T-Trunc(T)) >= 0.5);
end;
if (PM(Now)) then ShowMessage('O horário atual é PM') else ShowMessage('O horário atual é AM');

Compartilhar este post


Link para o post
Compartilhar em outros sites
Micheus    0

Complementando...

Por que testar se o valor decimal é maior que 0.5?

Porque o TDateTime é um Double, onde a parte inteira armazena a data e a parte fracionária armazena as horas. Então, 0.5 equivale à metade de 24:00h. Deste modo se for maior que 0.5, significa que a hora já passou do meio dia.

[]s

Compartilhar este post


Link para o post
Compartilhar em outros sites

Crie uma conta ou entre para comentar

Você precisar ser um membro para fazer um comentário

Criar uma conta

Crie uma nova conta em nossa comunidade. É fácil!

Crie uma nova conta

Entrar

Já tem uma conta? Faça o login.

Entrar Agora

Entre para seguir isso