Rumah >pembangunan bahagian belakang >C++ >Bagaimana Menghuraikan Rentetan Tarikh kepada Nilai Temporal C 11?
Diberi rentetan tarikh sejarah dalam format "Khamis 9 Jan 12:35 :34 2014", matlamatnya adalah untuk menghuraikannya menjadi C yang sesuai perwakilan.
Untuk ruang nama C 11 std::chrono, gabungan fungsi std::strptime dan std::chrono::system_clock boleh digunakan.
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));
Perhatikan bahawa std::get_time tidak dilaksanakan dalam GCC sebelum versi 5.
Pendekatan alternatif ialah menggunakan fungsi 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));
Setelah rentetan tarikh dihuraikan menjadi nilai temporal, perbezaan antara masa semasa dan masa yang dihuraikan boleh dikira menggunakan std::chrono::duration. Tempoh ini memberikan akses kepada bilangan saat, minit, jam dan hari berlalu.
Atas ialah kandungan terperinci Bagaimana Menghuraikan Rentetan Tarikh kepada Nilai Temporal C 11?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!