SoloCodigo

Programación General => C/C++ => C++ Builder => Mensaje iniciado por: vivamotos en Miércoles 25 de Octubre de 2006, 08:59

Título: Restar 1 Hora En Fecha
Publicado por: vivamotos en Miércoles 25 de Octubre de 2006, 08:59
Saludos,

Tengo el siguiente problema.

Quisiera hacer restar una hora a una fecha que tiene el siguiente formato :
dd/mm/yyyy hh:mm:ss

quisiera restarle 1 hora y que si esta fuera -1 la hora fuera 23 y me restrasara un día. Como lo puedo hacer?
Título: Re: Restar 1 Hora En Fecha
Publicado por: Linspire en Miércoles 25 de Octubre de 2006, 17:36
No se si esto pueda servirte de guía. No lo probé, es solo algo que encontré en internet. B)  :D

Hace tiempo que no uso el TDateTime pero me suena que se pdoian sumar y restar dias directamente.
Código: Text
  1.  
  2. TDateTime fecha;
  3. fecha = Date() + 20; // Sumo a la fecha actual 20 dias
  4.  
  5. [CODE]
  6. TimeToStr - Pasa TDateTime a AnsiString
  7. StrToTime - Pasa AnsiString a TDateTime
  8.  

Código: Text
  1.  
  2. O sea:
  3.  
  4. AnsiString t_t;
  5.  
  6. t_t = TimeToStr(StrToTime(1.20.20) - StrToTime(1.30.20));
  7.  
  8.  
Citar
Hay dos funciones, una pa pasar de horas a AnsiString y la inversa, es decir:

Si tienes una hora en un TDateTime, puedes mostrarlo con:

TDateTime hora;

Label1->Caption = TimeToStr(hora);

y si quieres modificar una hora, lo haces con la funcion inversa:

hora = hora + StrToTime("0.30.0");

esto suma media hora

hora = hora + StrToTime("1.0.0");

esto suma una hora

es de memoria, pruebalo y si no lo miro y te lo digo.

Espero q te sirva

Suerte!.. :whistling:
Título: Re: Restar 1 Hora En Fecha
Publicado por: vivamotos en Jueves 26 de Octubre de 2006, 14:50
Y para saber los días que tiene un mes????


Un ejemplo por fi, que me de el número de días que tiene tal mes.


por cierto, ha funcionado grácias :D