如何从 C++ 中的日期时间格式获取时间戳?
How to get timestamp from date time format in C++?
我想从 C++ 中的日期时间格式获取时间戳。我写了 C 风格的解决方案,但是 this->cache_time
最后没有承诺 [=12=]
因为它是 std::string_view
.
std::time_t client::get_cache_time() {
struct tm time;
if(strptime(this->cache_time.data(), "%a, %d %b %Y %X %Z", &time) != NULL) {
return timelocal(&time);
}
return 0;
}
C ++ 中是否有 strptime() 替代方案可以与 std::string_view
一起使用?
感谢您的帮助。
我不知道这个解决方案是否干净且内存效率高,但它确实有效。
std::time_t client::get_cache_time() {
std::tm time;
std::istringstream buffer(std::string(this->cache_time));
buffer >> std::get_time(&time, "%a, %d %b %Y %X %Z");
if(!buffer.fail()) {
return timelocal(&time);
}
return 0;
}
std::string_view
很好,但并非所有地方都支持。
我想从 C++ 中的日期时间格式获取时间戳。我写了 C 风格的解决方案,但是 this->cache_time
最后没有承诺 [=12=]
因为它是 std::string_view
.
std::time_t client::get_cache_time() {
struct tm time;
if(strptime(this->cache_time.data(), "%a, %d %b %Y %X %Z", &time) != NULL) {
return timelocal(&time);
}
return 0;
}
C ++ 中是否有 strptime() 替代方案可以与 std::string_view
一起使用?
感谢您的帮助。
我不知道这个解决方案是否干净且内存效率高,但它确实有效。
std::time_t client::get_cache_time() {
std::tm time;
std::istringstream buffer(std::string(this->cache_time));
buffer >> std::get_time(&time, "%a, %d %b %Y %X %Z");
if(!buffer.fail()) {
return timelocal(&time);
}
return 0;
}
std::string_view
很好,但并非所有地方都支持。