Club Delphi  
    Paypal   FTP   CCD     Buscar   Trucos   Trabajo   Foros

Retroceder   Foros Club Delphi > Principal > OOP
Registrarse FAQ Miembros Calendario Guía de estilo Buscar Temas de Hoy Marcar Foros Como Leídos

Coloboración Paypal con ClubDelphi

 
 
Herramientas Buscar en Tema Desplegado
  #6  
Antiguo 09-12-2009
Avatar de Lepe
[Lepe] Lepe is offline
Miembro Premium
 
Registrado: may 2003
Posts: 7.424
Poder: 31
Lepe Va por buen camino
ah, perdon.

Lo normal es usar la archifamosa función Now() para tenerlo todo, la fecha, hora y milisegundos, después si quieres cambiar un dato de la fecha, tiras de la unidad dateutils:
- recodeDate
- recodeTime
- encodeDateTime
- decodeDatetime

- dayOf
- monthOf
- yearOf

- incMonth
- incDay
- incHour
- incMinutes
- ...
(revisa la ayuda de DateUtils)

como ves tienes un monton de rutinas para trabajar cómodamente sin tener que codificar con string las fechas y horas.

Al grano en tu ejemplo:
Código Delphi [-]
var vieja, nueva :Tdatetime;
     min : int64; // creo este es el tipo que devuelve minutesbetween
begin
  vieja := now(); 
  vieja := RecodeTime(vieja, 12, 0, 0, 0); // Hora al mediodía; minutos, segundos y milisegundos a cero (porque me da la gana  )
  nueva := RecodeTime(vieja, 13, 0, 0, 0 );
  min := MinutesBetween(nueva, vieja);

Si no has tenido problemas hasta ahora, es porque no has calculado diferencias de horas estando de por medio el cambio de fecha, por ejemplo, desde las 23:00 hasta la 1:00 no van 2 horas de diferencia, Delphi te dirá que van 22 horas. Al no considerar la fecha, Delphi usa la misma fecha (30/12/1899 1:00 hasta el 30/12/1899 23:00) calculando la diferencia al revés, desde la 1 de la madrugada hasta las 23:00 horas de ese mismo día

Al principio crees que una rutina como incDay es una tontería, es sólo sumar un día a la fecha anterior pero,¿y si el año es bisiesto? ¿o no lo es?, obviamente todos esos "peros" están ya controlados en esas rutinas.

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


Herramientas Buscar en Tema
Buscar en Tema:

Búsqueda Avanzada
Desplegado

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
Funcion ABS brandolin SQL 5 24-01-2009 14:53:38
Función o q? Veanny Internet 2 21-02-2008 21:43:40
Funcion fafita Varios 7 25-01-2008 16:03:40
Problemas con MinutesBetween romansiux Varios 4 21-05-2005 14:27:56
funcion agora18 SQL 1 06-10-2003 07:18:30


La franja horaria es GMT +2. Ahora son las 19:25:51.


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