![]() |
![]() |
![]() |
![]() |
![]() |
FTP | ![]() |
![]() |
CCD | ![]() |
![]() |
Buscar | ![]() |
![]() |
Trucos | ![]() |
![]() |
Trabajo | ![]() |
![]() |
Foros | ![]() |
|
Registrarse | FAQ | Miembros | Calendario | Guía de estilo | Temas de Hoy |
![]() |
|
Herramientas | Buscar en Tema | Desplegado |
|
#1
|
|||
|
|||
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. |
#2
|
||||
|
||||
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.
__________________
La otra guía de estilo | Búsquedas avanzadas | Etiquetas para código | Colabora mediante Paypal |
#3
|
|||
|
|||
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. |
#4
|
|||
|
|||
Algo de código
En realidad solo he conseguido quitar los : puntos pero a la hora del redondeo me pierdo
|
#5
|
|||
|
|||
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. Última edición por BrunoBsso fecha: 25-03-2010 a las 13:47:08. Razón: Negativos... |
#6
|
||||
|
||||
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
__________________
Disfruten cada minuto de su vida a lado de sus seres queridos como si fuese el ultimo, uno nunca sabe lo que puede pasar. |
#7
|
||||
|
||||
Hola de nuevo, para reemplazar los : utiliza mejor la función StringReplace:
Saluditos
__________________
Disfruten cada minuto de su vida a lado de sus seres queridos como si fuese el ultimo, uno nunca sabe lo que puede pasar. |
#8
|
|||
|
|||
Muchas Gracias
Muchisimass Gracias a los 2
|
![]() |
|
|
![]() |
||||
Tema | Autor | Foro | Respuestas | Último mensaje |
De 12 a 24 horas | sancarlos | MS SQL Server | 3 | 03-07-2008 17:21:00 |
Problema Fechas y Horas | tarco35 | Varios | 2 | 31-12-2006 20:41:48 |
Problema con horas | akela | Varios | 2 | 18-10-2005 15:43:39 |
problema con mascara de fechas y horas | Choclito | Firebird e Interbase | 2 | 21-02-2005 21:20:42 |
SQL y las horas | FRANKER | SQL | 2 | 14-05-2003 10:50:40 |
![]() |
|