Hola,
Tengo estas fechas:
"8/2/19 10:00" = "d/m/yy hh:mm"
"8/12/19" = "d/m/yy"
Yo necesito hacer: "yyyy/mm/dd hh:mm"
"2019/02/08 10:00"
"2019/12/08 00:00"
Como lo puedo hacer por código, que funciones o conversiones dispongo en gambas más apropiadamente.
Nota: Son cadenas de texto.
¿Quizás modifico todo según cadenas de texto y aplico reglas para rellenar los ceros?
Gracias por adelantado.
¿Como Formateo La Siguiente Fecha?
Objetivo: Re: ¿Como Formateo La Siguiente Fecha?
Podes usar la función split en combinación con Format
Saludos.
Saludos.
Objetivo: Re: ¿Como Formateo La Siguiente Fecha?
Me gusta tu idea tincho, Gracias eres un Sol
Ahora falta que me funcione para todos los casos.
Saludos.
tincho escribió: [Ver mensaje]
Me gusta tu idea tincho, Gracias eres un Sol
Ahora falta que me funcione para todos los casos.
Saludos.
Objetivo: Re: ¿Como Formateo La Siguiente Fecha?
¿Sabes?, yo probé str1 = Format("8/2/19 10:00", "yyyy/mm/dd hh:mm")
Y me cascaba, pero seguro que es por que estaba mal, como veo en tu ejemplo.
Muchísimas gracias lo prueba y si pita bien ya te cuento.
última edición por gambafeliz el Sabado, 24 Agosto 2019, 22:11; editado 1 vez
shordi escribió: [Ver mensaje]
¿Sabes?, yo probé str1 = Format("8/2/19 10:00", "yyyy/mm/dd hh:mm")
Y me cascaba, pero seguro que es por que estaba mal, como veo en tu ejemplo.
Muchísimas gracias lo prueba y si pita bien ya te cuento.
última edición por gambafeliz el Sabado, 24 Agosto 2019, 22:11; editado 1 vez
Objetivo: Re: ¿Como Formateo La Siguiente Fecha?
última edición por Shell el Domingo, 25 Agosto 2019, 08:37; editado 1 vez
GambaFeliz:
Efectivamente. Lo mismo que estaba intentando hacer. No creía en principio que fuera necesario "Val".
Se me hacía raro que Format no entendiese el solo la cadena sin una conversión.
El error que da es:
Las conversiones.
La ayuda dice que Format puede:
Pero no dice que a cadenas. Esta especificando los tipos arriba.
Entonces Val convierte esa cadena a una fecha. Probablemente Val lo convierta primero al formato mes-día-año y
luego se formatea al formato de fecha que queremos.
Mi fallo es que usando la función Now ya tengo la fecha actual y luego con format la formateaba como me gustaba a mi.
Now lógicamente da una fecha no es una cadena. Así que por eso se debe usar Val cuando queremos convertir de cadena a fecha.
Saludos
Citar:
Efectivamente. Lo mismo que estaba intentando hacer. No creía en principio que fuera necesario "Val".
Se me hacía raro que Format no entendiese el solo la cadena sin una conversión.
El error que da es:
Citar:
Las conversiones.
La ayuda dice que Format puede:
Citar:
Pero no dice que a cadenas. Esta especificando los tipos arriba.
Entonces Val convierte esa cadena a una fecha. Probablemente Val lo convierta primero al formato mes-día-año y
luego se formatea al formato de fecha que queremos.
Mi fallo es que usando la función Now ya tengo la fecha actual y luego con format la formateaba como me gustaba a mi.
Now lógicamente da una fecha no es una cadena. Así que por eso se debe usar Val cuando queremos convertir de cadena a fecha.
Saludos
última edición por Shell el Domingo, 25 Agosto 2019, 08:37; editado 1 vez
Objetivo: Re: ¿Como Formateo La Siguiente Fecha?
Me gusta, joven, tu detallada explicación. Esta claro que shordi a dado la solución mejor para todos. tincho en mi particular dio la solución enrebezada propia para gente como yo y él mismo. Pero tu has dado la explicación más apropiada para terminar este hilo.
Por lo tanto creo que cuando un novato entre por este hilo lo tendrá muy claro con estas lineas de explicación.
Gracias, Shell y a todos.
última edición por gambafeliz el Domingo, 25 Agosto 2019, 09:11; editado 1 vez
Shell escribió: [Ver mensaje]
Me gusta, joven, tu detallada explicación. Esta claro que shordi a dado la solución mejor para todos. tincho en mi particular dio la solución enrebezada propia para gente como yo y él mismo. Pero tu has dado la explicación más apropiada para terminar este hilo.
Por lo tanto creo que cuando un novato entre por este hilo lo tendrá muy claro con estas lineas de explicación.
Gracias, Shell y a todos.
última edición por gambafeliz el Domingo, 25 Agosto 2019, 09:11; editado 1 vez
Objetivo: Re: ¿Como Formateo La Siguiente Fecha?
No exactamente. Tenéis que tener en cuenta que las fechas son números y no tienen formato per se. Para verlas hay que convertirlas pero... ¿Qué fecha queremos ver, la que figura en la base de datos o nuestra fecha local equivalente?¿y qué fecha queremos grabar en la base de datos, la nuestra local o la fecha del servidor? Es decir, hay fechas absolutas (que sería directamente la que hay en la BD, sin más) y fechas relativas (que serían la traducción de esa fecha a nuestro horario local).
Si quiero saber a qué hora se subió un post a una Base de Datos y me dice que a las tres de la mañana ¿son las tres de la mañana mías o las de venezuela, por ejemplo, país del autor del post?
gambas contempla ambas posibilidades y nos facilita la labor... pero hay que entenderlo
Considedad éste código:
Resumiendo:
Val y Str son inversas y manejan horas absolutas.
Cdate y Cstr son inversas y aplican los parámetros de Localización al valor recibido.
Saludos
última edición por shordi el Domingo, 25 Agosto 2019, 09:55; editado 1 vez
Citar:
No exactamente. Tenéis que tener en cuenta que las fechas son números y no tienen formato per se. Para verlas hay que convertirlas pero... ¿Qué fecha queremos ver, la que figura en la base de datos o nuestra fecha local equivalente?¿y qué fecha queremos grabar en la base de datos, la nuestra local o la fecha del servidor? Es decir, hay fechas absolutas (que sería directamente la que hay en la BD, sin más) y fechas relativas (que serían la traducción de esa fecha a nuestro horario local).
Si quiero saber a qué hora se subió un post a una Base de Datos y me dice que a las tres de la mañana ¿son las tres de la mañana mías o las de venezuela, por ejemplo, país del autor del post?
gambas contempla ambas posibilidades y nos facilita la labor... pero hay que entenderlo
Considedad éste código:
f = Val("18/2/19 00:00") 'devuelve 18/02/2019 00:00:00 como fecha
Str=str(f) 'devuelve "18/02/2019 00:00:00" Es decir, f convertida a cadena
Str=CStr(f) 'devuelve "02/17/2019 22:00:00" es decir: Hora UTC - localización (UTC+2=horario de verano en España. Al restar las dos horas, cambiamos de día)
f2 = CDate("2/18/19 00:00") 'devuelve 18/02/2019 02:00:00. Es decir: Hora UTC + localización.
Str=str(f) 'devuelve "18/02/2019 00:00:00" Es decir, f convertida a cadena
Str=CStr(f) 'devuelve "02/17/2019 22:00:00" es decir: Hora UTC - localización (UTC+2=horario de verano en España. Al restar las dos horas, cambiamos de día)
f2 = CDate("2/18/19 00:00") 'devuelve 18/02/2019 02:00:00. Es decir: Hora UTC + localización.
Resumiendo:
Val y Str son inversas y manejan horas absolutas.
Cdate y Cstr son inversas y aplican los parámetros de Localización al valor recibido.
Saludos
última edición por shordi el Domingo, 25 Agosto 2019, 09:55; editado 1 vez
Objetivo: Re: ¿Como Formateo La Siguiente Fecha?
Polemico !!!! Polemico !!!! Polemico !!!!
Simplemente me encantó tu explicación. Magnific, si Sr.
Ahora el hilo esta feten.
Gracias
Nota: Perdón por mi lamentable inicio previo.
shordi escribió: [Ver mensaje]
Polemico !!!! Polemico !!!! Polemico !!!!
Simplemente me encantó tu explicación. Magnific, si Sr.
Ahora el hilo esta feten.
Gracias
Nota: Perdón por mi lamentable inicio previo.
Objetivo: Re: ¿Como Formateo La Siguiente Fecha?
Shordi:
Interesante el tema de las fechas. Tengo que preparar una pregunta. Pero me gustaría volver a repasar bien
tu respuesta para comprender mejor esos cambios de fecha. Dichoso agosto. Y me estoy viendo septiembre igual..
En "estas fechas".. vuelve mucha gente al curro.
Saludos
Interesante el tema de las fechas. Tengo que preparar una pregunta. Pero me gustaría volver a repasar bien
tu respuesta para comprender mejor esos cambios de fecha. Dichoso agosto. Y me estoy viendo septiembre igual..
En "estas fechas".. vuelve mucha gente al curro.
Saludos
Página 1 de 1
No puede crear mensajesNo puede responder temas
No puede editar sus mensajes
No puede borrar sus mensajes
No puede votar en encuestas
No puede adjuntar archivos
Puede descargar archivos
No puede publicar eventos en el calendario
Está utilizando la versión (Lo-Fi). Para ver la versión completa del foro, haga clic aquí.
Powered by Icy Phoenix based on phpBB
Design by DiDiDaDo
Página generada en:: 0.5783s (PHP: -87% SQL: 187%)
Consultas SQL: 49 - Debug off - GZIP Activado