Club Delphi  
    FTP   CCD     Buscar   Trucos   Trabajo   Foros

Retroceder   Foros Club Delphi > Principal > Varios
Registrarse FAQ Miembros Calendario Guía de estilo Temas de Hoy

Grupo de Teaming del ClubDelphi

Respuesta
 
Herramientas Buscar en Tema Desplegado
  #1  
Antiguo 14-11-2007
ale_metall ale_metall is offline
Miembro
 
Registrado: sep 2007
Posts: 53
Poder: 17
ale_metall Va por buen camino
cambiar la hora sin am/pm??

Amigos.. necesito saber si existe alguna forma desde codigo delphi, para cambiar el formato de hora del sistema, es decir el programa calcula diferencias entre horas en l formato 00:00:00; 23:59:59 y quiero q se configure asi la hora del sistema y no que aparezca con am, pm! porq sino realiza mal los calculos..

o si no alguna mascara para convertir la hora del sistema, como este, al formato en el q yo lo necesito.. no se si me explique bien!

saludos y gracias... trabajo con delphi 6
Responder Con Cita
  #2  
Antiguo 14-11-2007
Avatar de dec
dec dec is offline
Moderador
 
Registrado: dic 2004
Ubicación: Alcobendas, Madrid, España
Posts: 13.107
Poder: 34
dec Tiene un aura espectaculardec Tiene un aura espectacular
Hola,

Hay que ver cómo estás tratando de realizar los cálculos. Y cómo consigues la hora del sistema. En principio, como comprenderás, no debería ser preciso cambiar la hora del sistema para realizar lo que te fuera menester en tu aplicación. ¿Por qué no enseñas parte de tu código, al menos? ¿Conoces la unidad "DateUtils" de Delphi?
__________________
David Esperalta
www.decsoftutils.com
Responder Con Cita
  #3  
Antiguo 16-11-2007
ale_metall ale_metall is offline
Miembro
 
Registrado: sep 2007
Posts: 53
Poder: 17
ale_metall Va por buen camino
Simplemente algo asi:
a minutos1 y 2 los cargo: minutos1:=(date);

Código Delphi [-]
 
var horas,minutos,minutosTotales: Int64; momento1,momento2:Tdatetime;
 
minutosTotales :=MinutesBetween(momento1, momento2);
horas :=minutosTotales div 60;
minutos:= minutosTotales mod 60;
showmessage('Tiempo a Computar: '+inttostr(horas)+' Horas '+inttostr(minutos)+' Minutos');


el error viene cuando tomo por ejemplo: momento1 con la hora en am/pm y momento2 con el otro formato de hora. el calculo es incorrecto. por ejemplo se confunde las 22:00 hs con las 10:00 hs!

gracias!!!
Responder Con Cita
  #4  
Antiguo 16-11-2007
Avatar de Lepe
[Lepe] Lepe is offline
Miembro Premium
 
Registrado: may 2003
Posts: 7.424
Poder: 29
Lepe Va por buen camino
Un TDatetime está implementado como un número en float:
- La parte entera son los días transcurridos desde 31/12/1899
- La parte fraccionaria son las horas y minutos de un día cualquiera.

Así que "am/pm" no influye para nada a la hora de realizar cálculos, solo para mostrar la información.

Dices que haces la asignación: momento1 := date, pero Date(), es una función que solo retorna la fecha (es decir, trunca el valor de la hora), deberías usar la función Now() si quieres tener en cuenta la fecha y hora.

Por otra parte, ten en cuenta el cambio de fecha; quiero decir, si tienes
01/01/2007 01:00:00 y le restas
01/01/2007 23:00:00 te va a dar 22 horas de diferencia (es el resultado correcto).

Sin embargo, la diferencia entre:
01/01/2007 23:00:00
02/01/2007 01:00:00
te dirá que son 2 horas.

Cuando se empieza a trabajar con fechas, suele cometerse ese error, no sé si es tu caso, pero creo conveniente hacer la aclaración.

Saludos
__________________
Si usted entendió mi comentario, contácteme y gustosamente,
se lo volveré a explicar hasta que no lo entienda, Gracias.
Responder Con Cita
Respuesta



Normas de Publicación
no Puedes crear nuevos temas
no Puedes responder a temas
no Puedes adjuntar archivos
no Puedes editar tus mensajes

El código vB está habilitado
Las caritas están habilitado
Código [IMG] está habilitado
Código HTML está deshabilitado
Saltar a Foro

Temas Similares
Tema Autor Foro Respuestas Último mensaje
Cambiar fecha y hora de windows emeceuy API de Windows 5 16-10-2010 09:09:20
cambiar formato de hora desve Varios 3 07-03-2008 22:33:44
cambiar fecha/hora a un contorlador fiscal ingel Varios 3 23-02-2007 14:52:09
Cambiar formato de hora y fecha JODELSA API de Windows 1 30-04-2004 18:34:53
Demora al cambiar la hora CFPA86 Varios 5 26-09-2003 20:58:27


La franja horaria es GMT +2. Ahora son las 21:08:15.


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
Copyright 1996-2007 Club Delphi