![]() |
Problema con horas
Hola, necesito una cosa un poco complicada. Haber si me explico:
Necesito una función que en funcion de la hora del dia que sea, se me guarde en una variable string esa hora redondeada, es decir, sin los segundos y redondeada a la centena, con una hora menos. Ejemplo: Si son las Now; => 10:27:56 Se me redondee y me de resultado 0920, es decir ademas del redondeo, con redondeo me refiero quitar los segundos y los : puntos ademas de quitarle 1 hora. Mas ejemplos El rango de redondeo es de 10 min, como dividir el reloj cada 10 min y que la funcion me redondee a lo mas cercano a ese segmento de 10 min 11:37:52 -> 1030 08:05:12 -> 0700 23:15:35 -> 2210 Muchas Gracias, nose si me he explicado bien. parece un poco lioso. |
Es sencillo, aunque algo tedioso... o aburrido :)
¿Y qué llevas hecho?, ¿cómo lo has planteado?, pon algo de tu código para que le echemos un vistazo. |
Respuesta rápida (y quizá un poco incorrecta):
- Usa el DecodeTime para tener cuatro variables: hora, minuto, segundo, milisegundo - segundo y milisegundo lo puedes ignorar - Hora:=hora-1; - minuto:= (minuto div 10) * 10; - HoraString:=IntToStr(Hora)+IntToStr(Minuto) Tienes que revisarlo, ya que entre las 00:00 y las 00:59h no funciona. |
Algo de código
En realidad solo he conseguido quitar los : puntos pero a la hora del redondeo me pierdo
|
No sé si te guste, pero hice una función a tu medida (y hasta con tu nick)
Creo que es fácil de entender, porque es todo código a mano. Aunque siempre la mejor alternativa es usar lo que te brinda el lenguaje, esta creo que no es una mala alternativa. Saludos! EDIT: ya verifica números negativos, ahora sí anda joya. |
Hola gcc32, yo utilizaría la función IncMinute de la unit DateUtils, lo que hace esa función es incrementar o decrementar la cantidad de minutos que quieras, tu codigo quedaría así:
Saluditos |
Hola de nuevo, para reemplazar los : utiliza mejor la función StringReplace:
Saluditos |
Muchas Gracias
Muchisimass Gracias a los 2
|
La franja horaria es GMT +2. Ahora son las 09:55:32. |
Powered by vBulletin® Version 3.6.8
Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
Traducción al castellano por el equipo de moderadores del Club Delphi