Entre para seguir isso  
Seguidores 0
Guest Amarildo

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

6 posts neste tópico

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

muito bom o código thales ;)

Compartilhar este post


Link para o post
Compartilhar em outros sites

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

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  
Seguidores 0