Foros del Web » Programación para mayores de 30 ;) » C/C++ »

Fecha a tiempo UNIX y biceversa

Estas en el tema de Fecha a tiempo UNIX y biceversa en el foro de C/C++ en Foros del Web. hola, estoy trabajando en Borland c++ builder y necesito sumar X dias a una fecha asi que pense cual es la forma mas rapida y ...
  #1 (permalink)  
Antiguo 30/05/2006, 16:00
 
Fecha de Ingreso: septiembre-2005
Mensajes: 49
Antigüedad: 18 años, 8 meses
Puntos: 0
Fecha a tiempo UNIX y biceversa

hola,
estoy trabajando en Borland c++ builder y necesito sumar X dias a una fecha asi que pense cual es la forma mas rapida y comoda sin equivocarme y sin controlar mucho los meses? pues pasar la fecha 2/12/2006 a tiempo unix,
me refiero a Segundos a partir de 1/1/1970 asi sumo X segundos que corresponden a Y dias y ya tnego la nueva fecha, solo falta convertirla a fecha normal, eso es posible en C ++ ?????????
  #2 (permalink)  
Antiguo 30/05/2006, 18:33
 
Fecha de Ingreso: abril-2006
Ubicación: Acapulco Gro. México
Mensajes: 483
Antigüedad: 18 años
Puntos: 2
podrias usar varios metodos, yo haria esto:

convierte los dias a segundos y suma estos al tu tiempo en formato condensado... es desir al tiempo en tipo time_t, para esto hay un buen de funiones en la lib time.h.

una vez uqe ya haces la suma de segundos, obtines la fecha en formato separado en una estructura tm o en una cadena ascii.

Saludos.
  #3 (permalink)  
Antiguo 31/05/2006, 01:35
 
Fecha de Ingreso: septiembre-2005
Mensajes: 49
Antigüedad: 18 años, 8 meses
Puntos: 0
ok eso habia leido time.h :) solo ke no di con la funcion para convertir una fecha determinada a segundos
gracias
voy a ver si veo algo
  #4 (permalink)  
Antiguo 31/05/2006, 09:53
Avatar de Instru  
Fecha de Ingreso: noviembre-2002
Ubicación: Mexico
Mensajes: 2.751
Antigüedad: 21 años, 6 meses
Puntos: 52
No se, pero creo que basandote en las funciones de time y un poco de matematicas lo puedes hacer.

Saludos
  #5 (permalink)  
Antiguo 31/05/2006, 16:23
 
Fecha de Ingreso: mayo-2006
Mensajes: 40
Antigüedad: 18 años
Puntos: 0
Hace tiempo puse en otro foro el articulo de una revista donde desarrollan unos programas para el manejo de fechas. Ahi el autor desarrolla unas funciones en ANSI C que convierten cualquier fecha a un formato de datos, de manera que es muy facil manipular estas con simple aritmetica. Mi intencion era ponerte la liga hacia aquel foro para que le echaras una mirada pues tal vez te podrian servir para lo que quieres, pero por las reglas de este foro no me permiten poner enlaces a otros lados hasta que no haya "posteado" un minimo de mensajes. Si te interesa puedo enviarte ese enlace a tu e-mail.
  #6 (permalink)  
Antiguo 01/06/2006, 14:28
 
Fecha de Ingreso: septiembre-2005
Mensajes: 49
Antigüedad: 18 años, 8 meses
Puntos: 0
Bueno al final gracias al amigo pitukilloloco a a notas que habia encontrado de otras personas el codigo queda resumido en:

Código PHP:
#include <DateUtils.hpp>


double fecha1fecha2;
fecha1=DateTimeToUnix(TDateTime(2006,6,1));
fecha2=DateTimeToUnix(TDateTime(2006,6,3));

int dias;
dias= (fecha2-fecha1)/(60*60*24); 
y funciona de maravilla :)
DateTimeToUnix(TDateTime(2006,6,1)); se puede sustituir por:
DateTimeToUnix(TFECHA->Date.DateString());
  #7 (permalink)  
Antiguo 01/06/2006, 18:31
 
Fecha de Ingreso: abril-2006
Ubicación: Acapulco Gro. México
Mensajes: 483
Antigüedad: 18 años
Puntos: 2
Y por que no usaste los operadores de la clase TDateTime.

tienen sobrecargado los operadores +,-, += ,-=, --, ++, etc.
si restar:

TDateTime dia1(2006, 6, 1);
TDateTime dia2(2006, 6, 3);

int Dias = dia2 - dia1;

el resultado es en dias.

supongo que esto de dara la diferencia en dias entre las 2 fechas.
Pero bueno la verdad dudo cuales son tus requeriminetos y manejos que le daras.

Saludos.
  #8 (permalink)  
Antiguo 03/06/2006, 03:15
 
Fecha de Ingreso: septiembre-2005
Mensajes: 49
Antigüedad: 18 años, 8 meses
Puntos: 0
la verdad es que asi si es mucho mas comodo pero como ya lo tenia hecho ya lo dejare a no ser ke tenga tiempo gracias: )


me hacia falta para calcular los dias de estancia en un hotel a partir de dos fechas, entrada y salida
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 11:13.