Étant donné une chaîne de date historique au format "Jeudi 9 janvier 12h35 :34 2014", le but est de l'analyser en un C approprié représentation.
Pour l'espace de noms C 11 std::chrono, une combinaison de la fonction std::strptime et std::chrono::system_clock peut être utilisé.
std::tm tm = {}; std::stringstream ss("Jan 9 2014 12:35:34"); ss >> std::get_time(&tm, "%b %d %Y %H:%M:%S"); auto tp = std::chrono::system_clock::from_time_t(std::mktime(&tm));
Notez que std::get_time n'est pas implémenté dans GCC avant la version 5.
Une approche alternative consiste à utiliser la fonction strptime :
std::tm tm = {}; strptime("Thu Jan 9 2014 12:35:34", "%a %b %d %Y %H:%M:%S", &tm); auto tp = std::chrono::system_clock::from_time_t(std::mktime(&tm));
Une fois la chaîne de date analysée une valeur temporelle, la différence entre l'heure actuelle et l'heure analysée peut être calculée en utilisant std::chrono::duration. Cette durée donne accès au nombre de secondes, minutes, heures et jours écoulés.
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!