Foros Club Delphi

Foros Club Delphi (https://www.clubdelphi.com/foros/index.php)
-   Varios (https://www.clubdelphi.com/foros/forumdisplay.php?f=11)
-   -   Arreglar Fecha (https://www.clubdelphi.com/foros/showthread.php?t=71327)

agustin173 14-12-2010 00:30:55

Arreglar Fecha
 
Hola muchachos como estan

Muchachos en la base de datos la fecha se guarda de la siguiente manera 2010-12-13 estoy usando SQL Server 2008 osea yyyy-mm-dd ese es el formato como se guarda.

cuando consulto los datos la fecha llega de la misma forma como esta en la base de dato 2010-12-13 osea yyyy-mm-dd.

Pregunto como puedo a nivel de codigo cuando yo consulte que me llegue de la siguiente manera 13-12-2008 osea dd-mm-yyyy.

yusnerqui 14-12-2010 00:39:52

Hola, lo que quieres es visualizarla con el formato que mencionas, usa la función FormatDate.


Saludos

agustin173 14-12-2010 11:49:43

yusnerqui

Probe pero no funciona podrias ayudarme con el codigo es que aun soy novato programando.

Cañones 14-12-2010 21:38:29

Código Delphi [-]
LongDateFormat:='dd/mm/yyyy';

Esto lo ponés en el onCreate del formulario principal y listo.
Saludos.

agustin173 14-12-2010 23:33:02

Tampoco asi funciona

miren muchachos lo que sucede es que cuando consulto la fecha llega yyyy/mm/dd.

y lo que deseo es que cuando llegue la informacion en el edit la fecha llegue con el formato dd/mm/yyyy. que seria el formato en español. digo yo

si hay alguna forma por favor ayudenme con el codigo.

Cañones 14-12-2010 23:39:36

Si la fecha que recibis es de tipo TDate, con el código que te di tiene que andar.
La otra sería cambiar el formato de la fecha en la BBDD.
Saludos.

agustin173 15-12-2010 00:32:22

recuerda que la fecha se graba en sql server yyyy-mm-dd osea 2010-12-14

cuando la mando a consultar llega igual como esta en la base de dato yyyy-mm-dd

lo que yo deseo es que cuando consulte cualquier registro y venga la fecha llegue dd-mm-yyyy osea 14-12-2010 yo digo que talvez hay que hacer algumn arreglo ayudame por favor

agustin173 15-12-2010 00:35:59

recuerda que la fecha se graba en sql server yyyy-mm-dd osea 2010-12-14

cuando la mando a consultar llega igual como esta en la base de dato yyyy-mm-dd

lo que yo deseo es que cuando consulte cualquier registro y venga la fecha llegue dd-mm-yyyy osea 14-12-2010 yo digo que talvez hay que hacer algumn arreglo ayudame por favor

el codigo como mando a buscar la fecha en el programa de consulta es asi
Código Delphi [-]
EDFEcha.Text:= Temp.Fields[1].AsString;

ecfisa 15-12-2010 01:53:45

Hola Agustin.

Según tengo entendido SQLServerSQL asigna el formato de la fecha segun el idioma que esté configurado en la base de datos.
Es decir que si tenés definido un idioma que usa yyyy/mm/dd vas a tener que cambiar la configuración del lenguaje en la base
de datos, o hacer las conversiones al leer y asignar.

Si te decidis por esto último, te hice una función simple para convertir la fecha en ambos formatos de acuerdo a un parámetro:
Código Delphi [-]
function Fecha_Esp_Eng(const F:string; const Esp: Boolean): string;
begin
  if Esp then
    Result:= Copy(F,7,4) + '-' + Copy(F,4,2) + '-' + Copy(F,1,2)
  else
    Result:= Copy(F,9,2) + '-' + Copy(F,6,2) + '-' + Copy(F,1,4);
end;


En tu caso usala:
Código Delphi [-]
  // mostrar
  EdFEcha.Text:=Fecha_Esp_Eng(Temp.Fields[1].AsString, False); // Inglés->Español
  // asignar
  Temp.Fields[1].AsString:= Fecha_Esp_Eng('14-12-2010', True); // Español->Inglés

Saludos.

ecfisa 15-12-2010 06:42:38

Hola.

Olvidé decirte que respeté el separador de fechas que pusiste en tu post: '-', ya que no he usado SQLServer e ignoro cuál usa. En las bases de datos que conozco el separador es: '/'.
De ser este último, tendrías que reemplazar en la función las ocurrencias de '-' , por dicho caracter.

Un saludo.

agustin173 15-12-2010 16:11:03

ecfisa el separador que hay fisicamente en sql server es el "-" ese es el que pone sql server.

voy a probar y luego te digo.

agustin173 15-12-2010 22:44:03

Ecfisa mi hermano una vez mas gracias ya todo funciono bien y cambie el "-" por "/" la fecha cambio de ingles a español. gracias mi hermano

Tambien a gracias a yusneris y cañones que aportaron ideas tambien gracias


ecfisa muchas pero muchas gracias.

ecfisa 17-12-2010 00:09:34

De nada Agustín, me alegro haberte sido de ayuda.


Un saludo. :)


La franja horaria es GMT +2. Ahora son las 10:05:29.

Powered by vBulletin® Version 3.6.8
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
Traducción al castellano por el equipo de moderadores del Club Delphi