Menukar Masa Rentetan kepada Time_t dalam C
Apabila bekerja dengan data masa dalam C , selalunya perlu menukar antara rentetan dan jenis time_t , yang mewakili masa sebagai nombor integer saat sejak zaman Unix. Artikel ini meneroka dua soalan yang berkaitan dengan penukaran masa dan perbandingan.
Menukar Masa Rentetan
Andaikan anda mempunyai pembolehubah rentetan, time_details, yang mengandungi masa dalam format "hh :mm:ss," seperti "16:35:12." Untuk menukar rentetan ini kepada time_t, anda boleh menggunakan fungsi 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);
Di sini, tm ialah struktur std::tm yang mewakili komponen masa yang dibedah. std::istringstream digunakan untuk membaca rentetan masa dan mktime menukar struct tm kepada time_t.
Membandingkan Dua Rentetan Masa
Membandingkan dua rentetan yang mengandungi masa boleh berguna untuk menentukan masa yang paling awal. Sebagai contoh, katakan anda mempunyai dua rentetan, curr_time dan user_time, mewakili masa sebagai "18:35:21" dan "22:45:31."
Untuk membandingkan masa ini, anda boleh menukarnya kepada std: :time_t menaip menggunakan teknik yang sama seperti di atas. Sebaik sahaja anda mempunyai nilai time_t, anda hanya boleh menggunakan operator perbandingan standard (<, <=, >, >=) untuk menentukan masa terawal.
Atas ialah kandungan terperinci Bagaimanakah Saya Boleh Menukar Masa Rentetan kepada time_t dan Bandingkan Masa Rentetan dalam C?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!