Page 1 of 1

Función fecha legible

Posted: Thu May 31, 2018 3:11 am
by jparada
Hola,

Está función devuelve la fecha en "formato legible", por ejemplo: FechaLegible( date() ) -> 30/May/2018

Code: Select all

function FechaLegible( dfecha )
  //local fecha := "  /  /  "
  local fecha := Ctod( '  /  /  ' )
  local nombre_mes
  local meses := { "Enero", "Febrero", "Marzo", "Abril", "Mayo",  "Junio", ;
                    "Julio", "Agosto", "Septiembre",  "Octubre", "Noviembre", "Diciembre" }

  if ! Empty( dfecha )
    nombre_mes := Iif ( !Empty( dfecha), meses[Month(dfecha)], "" )
    fecha := Alltrim(Str(Day(dfecha)) ) + "/" +  Left(nombre_mes,3) + "/" + Str(Year(dfecha),4)
  endif

return ( fecha )
Alguna idea cómo la puedo simplificar.

Gracias.

Saludos,
Javier

Re: Función fecha legible

Posted: Thu May 31, 2018 11:04 am
by BeGeS
Hola, Javier.

Te puedes ahorrar el segundo condicional: Iif ! Empty( dfecha)

Basta con el primero. ;)

Pero, sobre todo, no hace falta poner los meses en español si al comienzo del programa indicas estas dos líneas:

REQUEST HB_LANG_ES
HB_LANGSELECT("ES")

Entonces la función quedaría así (ojo, CMonth() en lugar de Month() ) :

Code: Select all

function FechaLegible( dfecha )
local fecha := " / / "

if ! Empty( dfecha )
  fecha := Alltrim( Str(Day(dfecha)) ) + "/" + Left(CMonth(dfecha),3) + "/" + Str(Year(dfecha),4)
endif

return ( fecha ) 

Re: Función fecha legible

Posted: Thu May 31, 2018 11:41 am
by mustafa
Hola jparada
Como ha indicado el colega BegeS
Hay que poner:

REQUEST HB_CODEPAGE_ESWIN
HB_SETCODEPAGE("ESWIN")

REQUEST HB_LANG_ES
HB_LANGSELECT("ES")

y tu código un poco modificado sale bien

Code: Select all


function FechaLegible( dfecha )

  local fecha := Ctod( '  /  /  ' )
 
  local diax   :=  hb_oemtoansi(CDOW(date()))
  local meses  :=  hb_oemtoansi(CMONTH(date()))

  if ! Empty( dfecha )
       fecha := Alltrim(Str(Day(dfecha)) ) + "/" + ALLTRIM(meses) + "/" + Str(Year(dfecha),4)
  endif

  MsgInfo( fecha , diax )

return ( fecha )

Saludos
Mustafa

Re: Función fecha legible

Posted: Mon Jun 04, 2018 2:16 am
by jparada
Hola,

Gracias a todos por sus aportes.

Saludos,
Javier