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
Encabezado: atltime.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 objetoCTimeSpan
sin inicializar.CTimeSpan( const CTimeSpan& );
Construye un objetoCTimeSpan
desde otro valorCTimeSpan
.CTimeSpan( __time64_t );
construye un objetoCTimeSpan
a partir de un tipo__time64_t
.CTimeSpan( LONG, int, int, int );
construye un objetoCTimeSpan
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 esteCTimeSpan
%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