Dica/sugestão converter data

Aqui você poderá oferecer suas Contribuições, Dicas e Tutoriais (Texto ou Vídeo) que sejam de interesse de todos.

Moderador: Moderadores

Avatar do usuário
JoséQuintas
Administrador
Administrador
Mensagens: 20267
Registrado em: 26 Fev 2007 11:59
Localização: São Paulo-SP

Dica/sugestão converter data

Mensagem 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)

Código: Selecionar todos

? 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.
José M. C. Quintas
Harbour 3.2, mingw, gtwvg mt, fivewin 25.04, multithread, dbfcdx, MySQL, ADOClass, PDFClass, SefazClass, (hwgui mt), (hmg3), (hmg extended), (oohg), PNotepad, ASP, stored procedure, stored function, Linux (Flagship/harbour 3.2)
"The world is full of kings and queens, who blind our eyes and steal our dreams Its Heaven and Hell"

https://github.com/JoseQuintas/
Avatar do usuário
Vlademiro
Usuário Nível 4
Usuário Nível 4
Mensagens: 752
Registrado em: 11 Jul 2005 02:46

Dica/sugestão converter data

Mensagem por Vlademiro »

Não sabia. Muito boa essa dica.
Responder