Namespaces
Variants

std:: time_get

From cppreference.net
Défini dans l'en-tête <locale>
template <

class CharT,
class InputIt = std:: istreambuf_iterator < CharT >

> class time_get ;

Le modèle de classe std::time_get encapsule les règles d'analyse des dates et heures. Le manipulateur d'E/S std::get_time utilise le facette std::time_get des paramètres régionaux du flux d'E/S pour convertir la saisie textuelle en un objet std::tm .

cpp/locale/time base cpp/locale/locale/facet std-time get-inheritance.svg

Diagramme d'héritage

Si une spécialisation de std::time_get n'est pas garantie d'être fournie par la bibliothèque standard (voir ci-dessous), les comportements de ses fonctions membres (à l'exception du constructeur et du destructeur) ne sont pas garantis comme spécifié.

Table des matières

Spécialisations

La bibliothèque standard garantit la fourniture des spécialisations suivantes (elles sont requises pour être implémentées par tout objet locale ):

Défini dans l'en-tête <locale>
std :: time_get < char > analyse les représentations de date et heure en chaîne étroite
std :: time_get < wchar_t > analyse les représentations de date et heure en chaîne large

En outre, la bibliothèque standard garantit également de fournir chaque spécialisation qui satisfait aux exigences de type suivantes :

Types imbriqués

Type Définition
char_type CharT
iter_type InputIt

Membres de données

Membre Description
std::locale::id id [static] l'identifiant de la facette

Fonctions membres

construit un nouveau facet time_get
(fonction membre publique)
détruit un facet time_get
(fonction membre protégée)
invoque do_date_order
(fonction membre publique)
invoque do_get_time
(fonction membre publique)
invoque do_get_date
(fonction membre publique)
invoque do_get_weekday
(fonction membre publique)
invoque do_get_monthname
(fonction membre publique)
invoque do_get_year
(fonction membre publique)
(C++11)
invoque do_get
(fonction membre publique)

Fonctions membres protégées

[virtual]
obtient l'ordre préféré du jour, du mois et de l'année
(fonction membre protégée virtuelle)
[virtual]
extrait les heures, minutes et secondes du flux d'entrée
(fonction membre protégée virtuelle)
[virtual]
extrait le mois, le jour et l'année du flux d'entrée
(fonction membre protégée virtuelle)
extrait le nom d'un jour de la semaine du flux d'entrée
(fonction membre protégée virtuelle)
extrait un nom de mois du flux d'entrée
(fonction membre protégée virtuelle)
[virtual]
extrait une année du flux d'entrée
(fonction membre protégée virtuelle)
[virtual] (C++11)
extrait les composants de date/heure du flux d'entrée, selon le format spécifié
(fonction membre protégée virtuelle)

Hérité de std:: time_base

Types imbriqués

Type Définition
dateorder type d'énumération d'ordre de date, définissant les valeurs no_order , dmy , mdy , ymd , et ydm

Exemple

Remarque : choisissez clang pour observer le résultat. libstdc++ n'implémente pas correctement le spécificateur %b : bug 78714 .

#include <iomanip>
#include <iostream>
#include <locale>
#include <sstream>
int main()
{
    std::tm t = {};
    std::istringstream ss("2011-Februar-18 23:12:34");
    ss.imbue(std::locale("de_DE.utf-8"));
    ss >> std::get_time(&t, "%Y-%b-%d %H:%M:%S");
    if (ss.fail())
        std::cout << "Parse failed\n";
    else
        std::cout << std::put_time(&t, "%c") << '\n';
}

Résultat possible :

Sun Feb 18 23:12:34 2011

Voir aussi

formate le contenu de std::tm pour la sortie sous forme de séquence de caractères
(modèle de classe)
(C++11)
analyse une valeur de date/heure selon un format spécifié
(modèle de fonction)