[C con Clase] class fecha
Salvador Pozo
salvador en conclase.net
Jue Feb 24 23:26:32 CET 2011
w> entiendo lo del time no lo habia tomado en cuenta ya que no se mucho de esta libreria , bueno en el caso de que yo trabajara con el time.h hasta donde yo se esta libreria solo funciona para fechas y horas "actuales" y mi clase se supone que tiene una fecha determinada por el usuario , como lo relacionaria con time me podrian explicar?
Hola:
No existe tal limitación, puedes usar cualquier fecha, dentro de determinados límites, claro.
La idea es convertir tiempos entre dos formatos:
- La estructura tm, con campos para año, mes, dia, hora, minutos y segundos.
- El tipo time_t, que expresa el tiempo en segundos, a partir de una fecha determinada (creo recordar que el 1/1/1970).
A los valores de tipo time_t le puedes sumar o restar cualquier tiempo, expresado en segundos, y hay funciones para hacer las conversiones entre los dos formatos. Por ejemplo:
----8<------
#include <iostream>
#include <ctime>
using namespace std;
int main(int argc, char *argv[]) {
time_t tiempo;
struct tm tiempo2;
tiempo2.tm_sec = 0;
tiempo2.tm_min = 0;
tiempo2.tm_hour = 0;
tiempo2.tm_mday = 23;
tiempo2.tm_mon = 1; // Febrero
tiempo2.tm_year = 81; //1981
tiempo = mktime(&tiempo2);
cout << tiempo2.tm_mday << "/" << tiempo2.tm_mon+1 << "/" << tiempo2.tm_year+1900 << endl;
// Añadimos 234 dias, es decir 234*24*60*60 segundos
tiempo += 234*24*60*60;
cout << "+ 234 dias" << endl;
tiempo2 = *gmtime(&tiempo);
cout << tiempo2.tm_mday << "/" << tiempo2.tm_mon+1 << "/" << tiempo2.tm_year+1900 << endl;
return 0;
}
----8<------
Hasta pronto.
--
Salvador Pozo (Administrador)
mailto:salvador en conclase.net
Más información sobre la lista de distribución Cconclase