Portal    Foro    Buscar    FAQ    Registrarse    Conectarse


Publicar nuevo tema  Responder al tema 
Página 1 de 2
Ir a la página 1, 2  Siguiente
 
Problemas Con Una Fecha [Solucionado]
Autor Mensaje
Responder citando   Descargar mensaje  
Mensaje Problemas Con Una Fecha [Solucionado] 
 
Hola a tod@s

Tengo una fecha (01/01/2020) ó (Día/Mes/Año) lo obtengo de un DateChooser de forma manual en un formulario. Esté valor tal cual lo obtengo de la propiedad Value del DateChooser y da la fecha correcto, osea (01/01/2020 00:00). El problema lo tengo cuando esta fecha la paso a una variable String para tratarla como una cadena. Sin más, ella sola, cambia la fecha de 01/01/2020 00:00 por la siguiente fecha 12/31/2019 22:00 donde es (Mes/Día/Año y Hora:Minutos)

Alguien me dice si fuera posible como lo trato como una cadena la fecha original sin que tenga este desagradable cambio.

Gracias.

============================ Una Solución

He solicitado al DateChooser el Day, el Month y el Year por separado y los he concatenado con & y "/" después lo he tratado como una cadena sin más problema de conversión.
 



 
última edición por gambafeliz el Viernes, 22 May 2020, 22:19; editado 3 veces 
gambafeliz - Ver perfil del usuarioEnviar mensaje privado 
Volver arribaPágina inferior
Responder citando   Descargar mensaje  
Mensaje Re: Problemas Con Una Fecha [Solucionado] 
 
Si mal no recuerdo, hay una variable de entorno (Linux) que determina el formato de fechas y números. El comando Print convierte a cadena pero usa esa variable de entorno para formatear fechas.

En cualquier caso, la mejor forma de hacerlo es mediante la función Format() para evitar tener que concatenar y es mucho más elegante:


http://gambaswiki.org/wiki/lang/format


Saludos
 




===================
Jesús Guardón

Por favor, usemos el corrector ortográfico antes de pulsar el botón "Enviar".

"uo ǝs ʇɐu pıɟıɔıן ɐdɹǝupǝɹ ɐ dɹoƃɹɐɯɐɹ, soןo ɥɐʎ bnǝ dɹodouǝɹsǝןo"
 
jguardon - Ver perfil del usuarioEnviar mensaje privado 
Volver arribaPágina inferior
Responder citando   Descargar mensaje  
Mensaje Re: Problemas Con Una Fecha [Solucionado] 
 
Hooola jguardon

Espero que estéis por casa muy bien y como no, tu mismo.

Gracias por la info, saludo, joven
 



 
gambafeliz - Ver perfil del usuarioEnviar mensaje privado 
Volver arribaPágina inferior
Responder citando   Descargar mensaje  
Mensaje Re: Problemas Con Una Fecha [Solucionado] 
 
Gracias, gambasfeliz. Afortunadamente todo bien por aquí. Espero que sea recíproco  

Saludos
 




===================
Jesús Guardón

Por favor, usemos el corrector ortográfico antes de pulsar el botón "Enviar".

"uo ǝs ʇɐu pıɟıɔıן ɐdɹǝupǝɹ ɐ dɹoƃɹɐɯɐɹ, soןo ɥɐʎ bnǝ dɹodouǝɹsǝןo"
 
jguardon - Ver perfil del usuarioEnviar mensaje privado 
Volver arribaPágina inferior
Responder citando   Descargar mensaje  
Mensaje Re: Problemas Con Una Fecha [Solucionado] 
 
jguardon escribió: [Ver mensaje]
Gracias, gambasfeliz. Afortunadamente todo bien por aquí. Espero que sea recíproco  

Saludos


jguardon,  ¿como era eso? bicho malo nunca muere, ¿no?        
 



 
gambafeliz - Ver perfil del usuarioEnviar mensaje privado 
Volver arribaPágina inferior
Responder citando   Descargar mensaje  
Mensaje Re: Problemas Con Una Fecha [Solucionado] 
 
haber gambafeliz yo llevo peleándome con las bases de datos durante un tiempo y largo y esta creo que es tu solución, espero

Dim FechaA As String[]
Dim FechaSql As String
FechaA = Split(TextBox3.Text, "/") 'aqui es donde recibe el
FechaSql = FechaA[1] & "/" & FechaA[0] & "/" & FechaA[2]
 


y si recibes las informacion de la base de datos y la quieres poner en orden es format


texbox1.text=Format(hResult["Fecha"], "dd/mm/yyyy")
 

espero haberte ayudado
y que el código si lo seguís lo entendáis
 



 
david - Ver perfil del usuarioEnviar mensaje privado 
Volver arribaPágina inferior
Responder citando   Descargar mensaje  
Mensaje Re: Problemas Con Una Fecha [Solucionado] 
 
En primer lugar te doy gracias por el aporte amigo david

Es posible que tengas razón y lo voy a mirar detenidamente, pero mi caso es con SQLite, te lo digo por si tu prueba es con otra base de datos. Y Si has leido la cabecera te darás cuenta que he probado bien lo que recibo de SQLite y gambas IDE, y recibo datos muy desagradables; que lo he solucionado como dije arriba y que jguardon me dio un aporte, si, ahora me queda ver el tuyo y entenderlo así como valorar si funciona como yo espero.

En fin ya me he enrollado, todo esto para decirte gracias, oye cuídate por ahí tu tierra, que por cierto me encanta. Que verdad es aquella que dice la niña pastori sobre Cai

Saludos.
 



 
gambafeliz - Ver perfil del usuarioEnviar mensaje privado 
Volver arribaPágina inferior
Responder citando   Descargar mensaje  
Mensaje Re: Problemas Con Una Fecha [Solucionado] 
 
Hola

Ese dato es importante. Sqlite no trata los datos igual que un motor de verdad, como MySql. Me explico, aunque hay por el foro bastante bibliografía al respecto muy bien explicada por nuestro querido shordi: los campos de una base de datos sqlite no son de tipo estricto, es decir, aunque al crear la bd definas un campo de tipo fecha, sqlite va a guardar los datos tal como se los pasas, como una cadena. El tipo es meramente informativo y no debes asumir nunca que los tipos de datos sean correctos.

2º párrafo del punto 1: https://www.sqlite.org/datatype3.html

Es decir, no podemos estar seguros que una consulta a una BD sqlite vaya a retornar un valor válido de tipo Date. Lo siento... si necesitas eso, es mejor usar MariaDB o MySQL o Postgres, etc.

Por otra parte, respondiendo a David, es mejor usar un control más adecuado para mostrar fechas, como el ValueBox con su propiedad Type = Date. Con eso te aseguras que el valor se mostrará correctamente cualquiera que sea la configuración de localización (idioma, fechas, números,etc) en el PC del usuario usando la propiedad .Value, que devuelve como su nombre indica, un valor y no una cadena que tengas que andar dividiendo para coger trozos.

https://www.gambas-es.org/show_post.php?p=2751

Si en el proceso de consulta de datos a la base de datos, muestra de datos en el control adecuado y entrega de nuevo a la base de datos desde la propiedad Value, nunca tendréis problemas con fechas/horas, puesto que el dato es de tipo Date y es el mismo en todo el proceso.

Saludos, mozos!
 




===================
Jesús Guardón

Por favor, usemos el corrector ortográfico antes de pulsar el botón "Enviar".

"uo ǝs ʇɐu pıɟıɔıן ɐdɹǝupǝɹ ɐ dɹoƃɹɐɯɐɹ, soןo ɥɐʎ bnǝ dɹodouǝɹsǝןo"
 
jguardon - Ver perfil del usuarioEnviar mensaje privado 
Volver arribaPágina inferior
Responder citando   Descargar mensaje  
Mensaje Re: Problemas Con Una Fecha [Solucionado] 
 
Bueno el tema esta solucionado pero me parecio que podria interesar otor enfoque.
Este problema con las fechas es un tema muy recurrente.
Yo corte por lo sano y transformo tada fecha en que obtenga con date o cualqueir fuente con Format.
Por ejemplo
sDate = Format(Now(),"YYYYMMDD")

Esta cadena ya la llevas a cualquier parte, es decir bases de datos controles etc.  y nunca tendrás problemas.
Cada sistema tiene sus propias fechas cada pís inclusive usan fechas ordenadas de diferente manera, por ello el estándar ISO es lo mejor.
Saludos.
 



 
última edición por tincho el Jueves, 04 Junio 2020, 14:42; editado 1 vez 
tincho - Ver perfil del usuarioEnviar mensaje privado 
Volver arribaPágina inferior
Responder citando   Descargar mensaje  
Mensaje Re: Problemas Con Una Fecha [Solucionado] 
 
Gracias jguardon por tu último e interesante aporte y gracias tincho igualmente.

Solo una cosa tincho, puedo estar de acuerdo con tu forma de hacer, pero sinceramente no es posible siempre hacerlo como tu lo dices, a no ser que yo esté equivocado, que como soy humano pues me equivoco y es de sabio reconocerlo. Te cuento mis lios, pero no con animo de un debate.

1. Yo tengo Fechas no estándar en un programa de Android que no hice yo.
2. Estas fechas las extraigo a otro formato no estándar a una hoja Excel
3. Después mediante un procedimiento que me aportó Shordi convierto estas fechas a uno de los tres estándar oficiales posibles de SQLite, independientemente puedes gardarlo como te de en gana en SQLite pero yo prefiero hacerlo como ellos publican oficialmente.
4. Recupero estas fecha con SQL bajo el comando Exec y después de obtener la consulta en un recorset paso estas Fechas a una Clase especializada por mi para transformar las fechas de yo le llamo Fechas de SQLite a Fechas gambas y por último para pintarlo en un Grid o lo que yo quiera de la pantalla las vuelvo a pasar por la clase especializada para transformarlas a lo que yo le llamo Fecha en Español.

Esta bien tu idea pero quizás no sirva para todo el mundo, vamos que esta bien pero no creo que sirva de estándar para gente como yo.

Gracias sinceras jovenes.
 



 
gambafeliz - Ver perfil del usuarioEnviar mensaje privado 
Volver arribaPágina inferior
Mostrar mensajes anteriores:    
 
Ocultar¡Este tema fue útil?

 

Elegir valoración:                       

Media de valoración Valoración mínima Valoración máxima Número de valoraciones
0.00 0 0 0
 

Publicar nuevo tema  Responder al tema  Página 1 de 2
Ir a la página 1, 2  Siguiente

Usuarios navegando en este tema: 0 registrados, 0 ocultos y 0 invitados
Usuarios registrados conectados: Ninguno


 
Lista de permisos
No puede crear mensajes
No puede responder temas
No puede editar sus mensajes
No puede borrar sus mensajes
No puede votar en encuestas
No puede adjuntar archivos
No puede descargar archivos
No puede publicar eventos en el calendario