Maison >développement back-end >C++ >Comment puis-je convertir le temps de chaîne en time_t et comparer les temps de chaîne en C ?

Comment puis-je convertir le temps de chaîne en time_t et comparer les temps de chaîne en C ?

DDD
DDDoriginal
2024-11-18 03:54:02262parcourir

How Can I Convert String Time to time_t and Compare String Times in C  ?

Conversion de la chaîne Time en Time_t en C

Lorsque vous travaillez avec des données temporelles en C, il est souvent nécessaire de convertir entre les chaînes et le type time_t , qui représente le temps sous la forme d'un nombre entier de secondes depuis l'époque Unix. Cet article explore deux questions liées à la conversion et à la comparaison de l'heure.

Conversion d'une heure de chaîne

Supposons que vous ayez une variable de chaîne, time_details, contenant l'heure au format "hh :mm:ss", tel que "16:35:12". Pour convertir cette chaîne en time_t, vous pouvez utiliser la fonction std::get_time :

struct std::tm tm;
std::istringstream ss("16:35:12");
ss >> std::get_time(&tm, "%H:%M:%S");
std::time_t time = mktime(&tm);

Ici, tm est une structure std::tm représentant les composants temporels disséqués. std::istringstream est utilisé pour lire la chaîne de temps et mktime convertit la structure tm en time_t.

Comparaison de deux chaînes de temps

La comparaison de deux chaînes contenant du temps peut être utile pour déterminer l’heure la plus précoce. Par exemple, supposons que vous ayez deux chaînes, curr_time et user_time, représentant les heures comme « 18:35:21 » et « 22:45:31 ».

Pour comparer ces heures, vous pouvez les convertir en std : :time_t tape en utilisant la même technique que ci-dessus. Une fois que vous avez les valeurs time_t, vous pouvez simplement utiliser les opérateurs de comparaison standard (<, <=, >, >=) pour déterminer l'heure la plus ancienne.

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!

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn