Clase CTimeSpan

Cantidad de tiempo, que se almacena internamente como el número de segundos en el intervalo de tiempo.

Sintaxis

class CTimeSpan

Miembros

Constructores públicos

Nombre Descripción
CTimeSpan::CTimeSpan Construye objetos CTimeSpan de varias maneras.

Métodos públicos

Nombre Descripción
CTimeSpan::Format Convierte un objeto CTimeSpan en una cadena con formato.
CTimeSpan::GetDays Devuelve un valor que representa el número de días completos de este objeto CTimeSpan.
CTimeSpan::GetHours Devuelve un valor que representa el número de horas del día actual (-23 a 23).
CTimeSpan::GetMinutes Devuelve un valor que representa el número de minutos de la hora actual (-59 a 59).
CTimeSpan::GetSeconds Devuelve un valor que representa el número de segundos del minuto actual (-59 a 59).
CTimeSpan::GetTimeSpan Devuelve el valor del objeto CTimeSpan.
CTimeSpan::GetTotalHours Devuelve un valor que representa el número total de horas completas de este objeto CTimeSpan.
CTimeSpan::GetTotalMinutes Devuelve un valor que representa el número total de minutos completos de este objeto CTimeSpan.
CTimeSpan::GetTotalSeconds Devuelve un valor que representa el número total de segundos completos de este objeto CTimeSpan.
CTimeSpan::Serialize64 Serializa los datos hacia o desde un archivo.

Operadores

Nombre Descripción
operator + - Agrega y resta objetos CTimeSpan.
operator += -= Agrega y resta un objeto CTimeSpan a este CTimeSpan y desde él.
operator == < etc. Compara dos valores de tiempo relativos.

Comentarios

CTimeSpan no tiene una clase base.

Las funciones CTimeSpan convierten segundos en varias combinaciones de días, horas, minutos y segundos.

El objeto CTimeSpan se almacena en una estructura __time64_t, que es de 8 bytes.

Una clase complementaria, CTime, representa un tiempo absoluto.

Las clases CTime y CTimeSpan no están diseñadas para la derivación. Dado que no hay funciones virtuales, el tamaño de ambos objetos CTime y CTimeSpan es exactamente de 8 bytes. La mayoría de las funciones miembro están insertadas.

Para más información sobre el uso de CTimeSpan, consulte los artículos Fecha y hora y Administración de hora en la referencia de la biblioteca en tiempo de ejecución.

Requisitos

Encabezadoatltime.h:

CTimeSpan Operadores de comparación

Operadores de comparación.

bool operator==(CTimeSpan span) const throw();
bool operator!=(CTimeSpan span) const throw();
bool operator<(CTimeSpan span) const throw();
bool operator>(CTimeSpan span) const throw();
bool operator<=(CTimeSpan span) const throw();
bool operator>=(CTimeSpan span) const throw();

Parámetros

span
El objeto que se va a comparar.

Valor devuelto

Estos operadores comparan dos valores de tiempo relativos. Devuelven TRUE si la condición es verdadera; de lo contrario, FALSE.

Ejemplo

CTimeSpan ts1(100);
CTimeSpan ts2(110);
ATLASSERT((ts1 != ts2) && (ts1 < ts2) && (ts1 <= ts2));   

CTimeSpan::CTimeSpan

Construye objetos CTimeSpan de varias maneras.

CTimeSpan() throw();
CTimeSpan(__time64_t time) throw();

CTimeSpan(
    LONG lDays,
    int nHours,
    int nMins,
    int nSecs) throw();

Parámetros

timeSpanSrc
Objeto CTimeSpan que ya existe.

time
Valor de tiempo __time64_t, que es el número de segundos del intervalo de tiempo.

lDays, nHours, nMins, nSecs
Días, horas, minutos y segundos, respectivamente.

Comentarios

Todos estos constructores crean un nuevo objeto CTimeSpan inicializado con la hora relativa especificada. Cada constructor se describe a continuación:

  • CTimeSpan( );Construye un objeto CTimeSpan sin inicializar.

  • CTimeSpan( const CTimeSpan& ); Construye un objeto CTimeSpan desde otro valor CTimeSpan.

  • CTimeSpan( __time64_t ); construye un objeto CTimeSpan a partir de un tipo __time64_t.

  • CTimeSpan( LONG, int, int, int ); construye un objeto CTimeSpan a partir de componentes con cada componente restringido a los siguientes intervalos:

    Componente Intervalo
    lDays De 0 a 25 000 (aproximadamente)
    nHours 0-23
    nMins 0-59
    nSecs 0-59

Tenga en cuenta que la versión de depuración de la biblioteca MFC (Microsoft Foundation Class) afirma si uno o varios de los componentes de tiempo están fuera del intervalo. Es su responsabilidad validar los argumentos antes de llamar.

Ejemplo

CTimeSpan ts1;  // Uninitialized time value
CTimeSpan ts2a(ts1); // Copy constructor
CTimeSpan ts2b = ts1; // Copy constructor again
CTimeSpan ts3(100); // 100 seconds
CTimeSpan ts4(0, 1, 5, 12);    // 1 hour, 5 minutes, and 12 seconds   

CTimeSpan::Format

Genera una cadena con formato que corresponde a este objeto CTimeSpan.

CString Format(LPCSTR pFormat) const;
CString Format(LPCTSTR pszFormat) const;
CString Format(UINT nID) const;

Parámetros

pFormat, pszFormat
Cadena de formato similar a la cadena de formato printf. Los códigos de formato, precedidos por un signo de porcentaje (%), se reemplazan por el componente CTimeSpan correspondiente. Otros caracteres de la cadena de formato se copian sin cambios en la cadena devuelta. El valor y el significado de los códigos de formato para Format se enumeran a continuación:

  • %D Total de días en este CTimeSpan

  • %H Horas en el día actual

  • %M Minutos en la hora actual

  • %S Segundos en el minuto actual

  • %% Signo de porcentaje

nID
Id. de la cadena que identifica este formato.

Valor devuelto

Objeto CString que contiene la hora con formato.

Comentarios

La versión de depuración de la biblioteca comprueba los códigos de formato y confirma si el código no está en la lista anterior.

Ejemplo

CTimeSpan ts(3, 1, 5, 12); // 3 days, 1 hour, 5 min, and 12 sec
CString s = ts.Format(_T("Total days: %D, hours: %H, mins: %M, secs: %S"));
ATLASSERT(s == _T("Total days: 3, hours: 01, mins: 05, secs: 12"));   

CTimeSpan::GetDays

Devuelve un valor que representa el número de días completos de este objeto CTimeSpan.

LONGLONG GetDays() const throw();

Valor devuelto

Devuelve el número de días completos de 24 horas en el intervalo de tiempo. Este valor puede ser negativo si el intervalo de tiempo es negativo.

Comentarios

Tenga en cuenta que el horario de verano (DST) puede provocar GetDays que devuelva un resultado potencialmente sorprendente. Por ejemplo, cuando el horario de verano está activo, GetDays notifica el número de días comprendidos entre el 1 de abril y el 1 de mayo como 29, no 30, porque un día de abril se acorta en una hora y, por lo tanto, no cuenta como un día completo.

Ejemplo

CTimeSpan ts(3, 1, 5, 12); // 3 days, 1 hour, 5 min, and 12 sec
ATLASSERT(ts.GetDays() == 3);   

CTimeSpan::GetHours

Devuelve un valor que representa el número de horas del día actual (-23 a 23).

LONG GetHours() const throw();

Valor devuelto

Devuelve el número de horas del día actual. El intervalo es de -23 a 23.

Ejemplo

CTimeSpan ts(3, 1, 5, 12); // 3 days, 1 hour, 5 min, and 12 sec
ATLASSERT(ts.GetHours() == 1);
ATLASSERT(ts.GetMinutes() == 5);
ATLASSERT(ts.GetSeconds() == 12);   

CTimeSpan::GetMinutes

Devuelve un valor que representa el número de minutos de la hora actual (-59 a 59).

LONG GetMinutes() const throw();

Valor devuelto

Devuelve el número de minutos de la hora actual. El intervalo es de -59 a 59.

Ejemplo

Vea el ejemplo de GetHours.

CTimeSpan::GetSeconds

Devuelve un valor que representa el número de segundos del minuto actual (-59 a 59).

LONG GetSeconds() const throw();

Valor devuelto

Devuelve el número de segundos del minuto actual. El intervalo es de -59 a 59.

Ejemplo

Vea el ejemplo de GetHours.

CTimeSpan::GetTimeSpan

Devuelve el valor del objeto CTimeSpan.

__ time64_t GetTimeSpan() const throw();

Valor devuelto

Devuelve el valor actual de un objeto CTimeSpan.

CTimeSpan::GetTotalHours

Devuelve un valor que representa el número total de horas completas de este objeto CTimeSpan.

LONGLONG GetTotalHours() const throw();

Valor devuelto

Devuelve el número total de horas completas de este objeto CTimeSpan.

Ejemplo

CTimeSpan ts(3, 1, 5, 12); // 3 days, 1 hour, 5 min, and 12 sec
ATLASSERT(ts.GetTotalHours() == 73);
ATLASSERT(ts.GetTotalMinutes() == 4385);
ATLASSERT(ts.GetTotalSeconds() == 263112);   

CTimeSpan::GetTotalMinutes

Devuelve un valor que representa el número total de minutos completos de este objeto CTimeSpan.

LONGLONG GetTotalMinutes() const throw();

Valor devuelto

Devuelve el número total de minutos completos de este objeto CTimeSpan.

Ejemplo

Vea el ejemplo de GetTotalHours.

CTimeSpan::GetTotalSeconds

Devuelve un valor que representa el número total de segundos completos de este objeto CTimeSpan.

LONGLONG GetTotalSeconds() const throw();

Valor devuelto

Devuelve el número total de segundos completos de este objeto CTimeSpan.

Ejemplo

Vea el ejemplo de GetTotalHours.

CTimeSpan::operator +, CTimeSpan::operator -

Agrega y resta objetos CTimeSpan.

CTimeSpan operator+(CTimeSpan span) const throw();
CTimeSpan operator-(CTimeSpan span) const throw();

Parámetros

span
Valor del objeto que se va a agregar a CTimeSpan.

Valor devuelto

Objeto CTimeSpan que representa el resultado de la operación.

Comentarios

Estos dos operadores permiten agregar y restar objetos CTimeSpan entre sí.

Ejemplo

CTimeSpan ts1(3, 1, 5, 12); // 3 days, 1 hour, 5 min, and 12 sec
CTimeSpan ts2(100); // 100 seconds
CTimeSpan ts3 = ts1 + ts2;
ATLASSERT(ts3.GetSeconds() == 52); // 6 mins, 52 secs   

CTimeSpan::operator +=, CTimeSpan::operator -=

Agrega y resta un objeto CTimeSpan a este CTimeSpan y desde él.

CTimeSpan& operator+=(CTimeSpan span) throw();
CTimeSpan& operator-=(CTimeSpan span) throw();

Parámetros

span
Valor del objeto que se va a agregar a CTimeSpan.

Valor devuelto

Objeto CTimeSpan actualizado.

Comentarios

Estos operadores permiten agregar y restar un objeto CTimeSpan a y desde este objeto CTimeSpan.

Ejemplo

CTimeSpan ts1(10); // 10 seconds
CTimeSpan ts2(100); // 100 seconds
ts2 -= ts1;
ATLASSERT(ts2.GetTotalSeconds() == 90);   

CTimeSpan::Serialize64

Nota:

Este método solo está disponible en proyectos MFC.

Serializa los datos asociados a la variable miembro hacia o desde un archivo.

CArchive& Serialize64(CArchive& ar);

Parámetros

ar
Objeto CArchive que quiere actualizar.

Valor devuelto

Objeto CArchive actualizado.

Consulte también

asctime, _wasctime
_ftime, _ftime32, _ftime64
gmtime, _gmtime32, _gmtime64
localtime, _localtime32, _localtime64
strftime, wcsftime, _strftime_l, _wcsftime_l
time, _time32, _time64
Gráfico de jerarquías
Clases compartidas de ATL y MFC