Como separo TIME de um DATETIME?

Discussão em 'Progress 4GL' iniciado por Rodrigo Rossetto, Novembro 29, 2010.

  1. Rodrigo Rossetto

    Rodrigo Rossetto Membro Participativo

    Alguém sabe algo mais prático para separar o tempo de um datetime?

    Ex.:
    Código:
    ENTRY(2,STRING(NOW,"99/99/9999 hh:mm"), " ")
    
    Tentei MTIME, mas não entendi muito bem se usa...

    [],
    Rodrigo
  2. eduardo.leite

    eduardo.leite Equipe de Suporte Moderador Equipe de Suporte

    Se você deseja saber somente a hora local, no exato momento, use a função TIME:

    Código:
    message string(time,"hh:mm:ss") view-as alert-box.
    
  3. Rodrigo Rossetto

    Rodrigo Rossetto Membro Participativo

    No caso eu tenho uma tabela com o campo DATETIME, gravada com NOW.
    Só que alguns relatórios eu preciso dele separado.
  4. eduardo.leite

    eduardo.leite Equipe de Suporte Moderador Equipe de Suporte

    Colega,

    Não sei se é a melhor opção, mas no momento consegui achar essa:

    Código:
    def var data        as datetime     no-undo.
    def var data-ini    as datetime     no-undo.
    
    assign data = now.
    
    message substring(string(data),12,08) view-as alert-box.
    
  5. MFerreira

    MFerreira Membro Participativo

    Amigo, Boa Tarde!

    Você pode usar o MTIME(<datetime>). O MTime retornará o valor com milisegundos.

    Caso você queira o seu valor em formato "hh:mm:ss") pode usar o MTIME conforme abaixo
    STRING(int(MTIME(<datetime>) / 1000), "hh:mm:ss").

    O int serve para tirar o valor depois da vírgula dos milisegundos.

    Não sei se este código funciona para versões abaixo de 101A.. Mas de 101A ou superior eu sei que funciona.

    Um abraço.
  6. eduardo.leite

    eduardo.leite Equipe de Suporte Moderador Equipe de Suporte

Compartilhe esta Página