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!