Jump to content
Fórum Script Brasil
  • 0

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


Guest Amarildo
 Share

Question

5 answers to this question

Recommended Posts

  • 0

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.

Link to comment
Share on other sites

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

Link to comment
Share on other sites

  • 0

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');

Link to comment
Share on other sites

  • 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

Link to comment
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Answer this question...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

 Share



  • Forum Statistics

    • Total Topics
      151k
    • Total Posts
      649.1k
×
×
  • Create New...