Stratos: Punto de Encuentro de Desarrolladores

¡Bienvenido a Stratos!

Acceder

Foros





Cantidad de tiempo pasado entre diferentes fechas

Iniciado por Worvast, 29 de Mayo de 2008, 07:36:03 PM

« anterior - próximo »

Worvast

Llevo media hora intentando postear....

Buenas, hace tiempo que tengo este problemilla y no consigo dar ni con un resultado, aunque sea el peor y el menos óptimo, con lo desesperado que estoy me da igual, con que funcione.

Lo que quiero conseguir es averiguar la diferencia entre dos fechas como si de saber cuanto ha estado algo en venta por ejemplo:

Comienza: Dia/Mes/Año  Hora/Minutos
Acaba:       Dia/Mes/Año  Hora/Minutos

Los días, meses, años, horas y minutos que han pasado desde la fecha inicial a la otra.

¿Hay alguna librería que sea capaz de hacer esto? Es que hacerlo a pelo me está llevando lo suyo, me falta mas de la mitad y estoy dandolo por imposible. ¿Alguna idea?

Bye

Worvast

Cuando dije "librería capaz de hacer esto" me refería a librería con el que pudiera controlar algo mejor las horas por ejemplo, siendo el tope 60 no 100 en los minutos por ejemplo, o 24 en las horas.

O no en funciones, sino alguna cosa rara en C, aún no controlo tan bien como para inventarme algo realmente funcional, o algo funcional a secas....



Bye-nee

nostromo

Hola, asumo que estas con C o C++

Usando time.h de la librería estándar tienes algunas funciones útiles:

time_t mktime(   struct tm *timeptr  );
Que convierte lo que hay en tm a time_t que es la codificación interna de la fecha para la libreria. En una struct tm puedes indicarle hora,minutos... etc...

Pues conviertes las 2 fechas y digamos que obtienes time1 y time2.

Luego con
double difftime(    time_t timer1,   time_t timer0 );
obtienes los segundos entre una fecha y otra...
A partir de ahí empiezas a dividir para obtener días,horas y minutos  transcurridos entre las dos fechas.

CitarLos días, meses, años, horas y minutos que han pasado desde la fecha inicial a la otra.

Es imposible obtener los años y los meses, porque, ¿cuantos días tienen esos meses de diferencia? ¿cuantos días tienen los años entre las dos fechas? En fin, los meses cada uno tiene un numero de días y los años pueden ser bisiestos...

Un saludo







Stratos es un servicio gratuito, cuyos costes se cubren en parte con la publicidad.
Por favor, desactiva el bloqueador de anuncios en esta web para ayudar a que siga adelante.
Muchísimas gracias.