Partager via


La classe CTimeSpan

Durée, qui est stockée en interne en tant que nombre de secondes dans l’intervalle de temps.

Syntaxe

class CTimeSpan

Membres

Constructeurs publics

Nom Description
CTimeSpan::CTimeSpan Construit des CTimeSpan objets de différentes façons.

Méthodes publiques

Nom Description
CTimeSpan::Format Convertit une CTimeSpan chaîne mise en forme.
CTimeSpan::GetDays Retourne une valeur qui représente le nombre de jours complets dans ce CTimeSpan.
CTimeSpan::GetHours Retourne une valeur qui représente le nombre d’heures dans le jour actuel (-23 à 23).
CTimeSpan::GetMinutes Retourne une valeur qui représente le nombre de minutes dans l’heure actuelle (-59 à 59).
CTimeSpan::GetSeconds Retourne une valeur qui représente le nombre de secondes dans la minute actuelle (-59 à 59).
CTimeSpan::GetTimeSpan Retourne la valeur de l’objet CTimeSpan .
CTimeSpan::GetTotalHours Retourne une valeur qui représente le nombre total d’heures complètes dans ce CTimeSpan.
CTimeSpan::GetTotalMinutes Retourne une valeur qui représente le nombre total de minutes complètes dans ce CTimeSpan.
CTimeSpan::GetTotalSeconds Retourne une valeur qui représente le nombre total de secondes complètes dans ce CTimeSpan.
CTimeSpan::Serialize64 Sérialise les données vers ou à partir d’une archive.

Opérateurs

Nom Description
operator + - Ajoute et soustrait des CTimeSpan objets.
operator += -= Ajoute et soustrait un CTimeSpan objet vers et à partir de ce CTimeSpan.
operator == < etc. Compare deux valeurs de temps relatives.

Notes

CTimeSpan n’a pas de classe de base.

CTimeSpan les fonctions convertissent les secondes en différentes combinaisons de jours, d’heures, de minutes et de secondes.

L’objet CTimeSpan est stocké dans une __time64_t structure, qui est de 8 octets.

Une classe compagnon, , CTimereprésente un temps absolu.

Les CTime classes et CTimeSpan les classes ne sont pas conçues pour la dérivation. Étant donné qu’il n’existe aucune fonction virtuelle, la taille des deux CTime et CTimeSpan des objets est exactement de 8 octets. La plupart des fonctions membres sont inline.

Pour plus d’informations sur l’utilisationCTimeSpan, consultez les articles Date et Heure et Gestion de l’heure dans la référence de la bibliothèque d’exécution.

Spécifications

En-tête : atltime.h

CTimeSpan Opérateurs de comparaison

Opérateurs de comparaison.

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();

Paramètres

span
Objet à comparer.

Valeur de retour

Ces opérateurs comparent deux valeurs de temps relatives. Ils retournent TRUE si la condition est vraie ; sinon FALSE.

Exemple

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

CTimeSpan::CTimeSpan

Construit des CTimeSpan objets de différentes façons.

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

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

Paramètres

timeSpanSrc
Objet CTimeSpan qui existe déjà.

time
Valeur __time64_t de temps, qui correspond au nombre de secondes dans l’intervalle de temps.

lDays, , nHoursnMins, ,nSecs
Jours, heures, minutes et secondes, respectivement.

Notes

Tous ces constructeurs créent un CTimeSpan objet initialisé avec l’heure relative spécifiée. Chaque constructeur est décrit ci-dessous :

  • CTimeSpan( ); Construit un objet non initialisé CTimeSpan .

  • CTimeSpan( const CTimeSpan& ); Construit un CTimeSpan objet à partir d’une autre CTimeSpan valeur.

  • CTimeSpan( __time64_t ); Construit un CTimeSpan objet à partir d’un __time64_t type.

  • CTimeSpan( LONG, int, int, int ); Construit un CTimeSpan objet à partir de composants avec chaque composant limité aux plages suivantes :

    Composant Plage
    lDays 0-25 000 (environ)
    nHours 0-23
    nMins 0-59
    nSecs 0-59

Notez que la version de débogage de la bibliothèque de classes Microsoft Foundation s’affirme si un ou plusieurs composants d’heure sont hors limites. Il vous incombe de valider les arguments avant d’appeler.

Exemple

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

Génère une chaîne mise en forme qui correspond à ce CTimeSpan.

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

Paramètres

pFormat, pszFormat
Chaîne de mise en forme similaire à la chaîne de printf mise en forme. Les codes de mise en forme, précédés d’un signe de pourcentage (%) sont remplacés par le composant correspondant CTimeSpan . Les autres caractères de la chaîne de mise en forme sont copiés inchangés dans la chaîne retournée. La valeur et la signification des codes de mise en forme sont Format répertoriées ci-dessous :

  • %D Nombre total de jours dans ce CTimeSpan

  • %H Heures dans le jour actuel

  • %M Minutes dans l’heure actuelle

  • %S Secondes dans la minute actuelle

  • %% Signe de pourcentage

nID
ID de la chaîne qui identifie ce format.

Valeur de retour

Objet CString qui contient l’heure mise en forme.

Notes

La version de débogage de la bibliothèque vérifie les codes de mise en forme et affirme si le code n’est pas dans la liste ci-dessus.

Exemple

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

Retourne une valeur qui représente le nombre de jours complets dans ce CTimeSpan.

LONGLONG GetDays() const throw();

Valeur de retour

Retourne le nombre de jours complets de 24 heures dans l’intervalle de temps. Cette valeur peut être négative si l’intervalle de temps est négatif.

Notes

Notez que l’heure d’été (DST) peut entraîner GetDays un retour d’un résultat potentiellement surprenant. Par exemple, lorsque la DST est en vigueur, GetDays signale le nombre de jours entre le 1er avril et le 1er mai comme 29, et non 30, car un jour en avril est raccourci d’une heure et ne compte donc pas comme un jour complet.

Exemple

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

CTimeSpan::GetHours

Retourne une valeur qui représente le nombre d’heures dans le jour actuel (-23 à 23).

LONG GetHours() const throw();

Valeur de retour

Retourne le nombre d’heures dans le jour actuel. La plage est de -23 à 23.

Exemple

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

Retourne une valeur qui représente le nombre de minutes dans l’heure actuelle (-59 à 59).

LONG GetMinutes() const throw();

Valeur de retour

Retourne le nombre de minutes dans l’heure actuelle. La plage est de -59 à 59.

Exemple

Consultez l’exemple pour GetHours.

CTimeSpan::GetSeconds

Retourne une valeur qui représente le nombre de secondes dans la minute actuelle (-59 à 59).

LONG GetSeconds() const throw();

Valeur de retour

Retourne le nombre de secondes dans la minute actuelle. La plage est de -59 à 59.

Exemple

Consultez l’exemple pour GetHours.

CTimeSpan::GetTimeSpan

Retourne la valeur de l’objet CTimeSpan .

__ time64_t GetTimeSpan() const throw();

Valeur de retour

Retourne la valeur actuelle de l’objet CTimeSpan .

CTimeSpan::GetTotalHours

Retourne une valeur qui représente le nombre total d’heures complètes dans ce CTimeSpan.

LONGLONG GetTotalHours() const throw();

Valeur de retour

Retourne le nombre total d’heures complètes dans ce CTimeSpan.

Exemple

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

Retourne une valeur qui représente le nombre total de minutes complètes dans ce CTimeSpan.

LONGLONG GetTotalMinutes() const throw();

Valeur de retour

Retourne le nombre total de minutes complètes dans ce CTimeSpan.

Exemple

Consultez l’exemple pour GetTotalHours.

CTimeSpan::GetTotalSeconds

Retourne une valeur qui représente le nombre total de secondes complètes dans ce CTimeSpan.

LONGLONG GetTotalSeconds() const throw();

Valeur de retour

Retourne le nombre total de secondes complètes dans ce CTimeSpan.

Exemple

Consultez l’exemple pour GetTotalHours.

CTimeSpan::operator +, CTimeSpan::operator -

Ajoute et soustrait des CTimeSpan objets.

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

Paramètres

span
Valeur à ajouter à l’objet CTimeSpan .

Valeur de retour

Objet CTimeSpan représentant le résultat de l’opération.

Notes

Ces deux opérateurs vous permettent d’ajouter et de soustraire CTimeSpan des objets entre eux.

Exemple

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 -=

Ajoute et soustrait un CTimeSpan objet vers et à partir de ce CTimeSpan.

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

Paramètres

span
Valeur à ajouter à l’objet CTimeSpan .

Valeur de retour

Objet mis à jour CTimeSpan .

Notes

Ces opérateurs vous permettent d’ajouter et de soustraire un CTimeSpan objet vers et à partir de ce CTimeSpan.

Exemple

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

CTimeSpan::Serialize64

Remarque

Cette méthode est disponible uniquement dans les projets MFC.

Sérialise les données associées à la variable membre vers ou à partir d’une archive.

CArchive& Serialize64(CArchive& ar);

Paramètres

ar
Objet CArchive à mettre à jour.

Valeur de retour

Objet mis à jour CArchive .

Voir aussi

asctime, _wasctime
_ftime, , _ftime32_ftime64
gmtime, , _gmtime32_gmtime64
localtime, , _localtime32_localtime64
strftime, , wcsftime_strftime_l, ,_wcsftime_l
time, , _time32_time64
Graphique hiérarchique
Classes partagées ATL/MFC