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: 20415
Registrado em: 26 Fev 2007 11:59
Localização: São Paulo-SP
Curtiram: 1 vez

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, multithread, gtwvg, fivewin 25.12, dbfcdx, MySQL, ADOClass, PDFClass, SefazClass, (hwgui), (hmg3), (hmg extended), (oohg), PNotepad, ASP, (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