Clipper On Line • Ver Tópico - Dica/sugestão converter data
Página 1 de 1

Dica/sugestão converter data

MensagemEnviado: 01 Jul 2020 16:09
por JoséQuintas
No Harbour tem a função hb_Dtoc(), que a princípio seria igual Dtoc(), mas não é.

Por exemplo: hb_Dtoc( Date(), "DDMMYY" )

Isso economiza um pouco de fonte.

Para o XHarbour.... se não existir, é só criar uma função com mesmo nome, assim fica todo mundo igual, e um mesmo fonte pode servir pra todo mundo.

Sei lá... talvez assim:
(não testei, pensei/criei durante postagem)

? hb_Dtoc( Date(), "YYYY-MM-DD" )
? hb_Dtoc( Date(), "DD-MM-YYYY" )
? hb_Dtoc( Date(), "MMDDYY" )
? hb_Dtoc( Date(), "DDMMYY" )

FUNCTION hb_Dtoc( dData, cFormato )

   IF cFormato == NIL
      RETURN Dtoc( dData )
   ENDIF
   cFormato := Upper( cFormato )
   cFormato := StrTran( cFormato, "DD", StrZero( Day( dData ), 2 ) )
   cFormato := StrTran( cFormato, "MM", StrZero( Month( dData ), 2 ) )
   cFormato := StrTran( cFormato, "YYYY", StrZero( Year( dData ), 4 ) )
   // depois do YYYY, senão trocaria o ano duas vezes
   cFormato := StrTran( cFormato, "YY", StrZero( Mod( Year( dData ), 100 ), 2 ) )

   RETURN cFormato


Dica adicional:
Convém usar uma conversão universal.
Assim funciona com SET DATE BRITISH, ou SET CENTURY ON/OFF, etc.

Dica/sugestão converter data

MensagemEnviado: 02 Jul 2020 21:27
por Vlademiro
Não sabia. Muito boa essa dica.