在 C++ 中以字符串形式获取 Unix 时间戳

wya*_*att 1 c++ timestamp

我正在使用函数 time() 来获取 C++ 中的时间戳,但是,在这样做之后,我需要将其转换为字符串。我不能使用 ctime,因为我需要时间戳本身(以 10 个字符的格式)。问题是,我不知道 time_t 变量采用什么形式,所以我不知道我要从什么转换它。cout 处理它,所以它必须是一些描述的字符串,但我不知道是什么。

如果有人能帮助我解决这个问题,我将不胜感激,我完全被难住了。

或者,您能否将 ctime 的输出提供给 MySQL 日期时间字段并正确解释它?为了理解起见,我仍然希望回答我的问题的第一部分,但这将解决我的问题。

sth*_*sth 5

time_t是某种整数。如果cout以您想要的方式处理它,您可以使用 astd::stringstream将其转换为字符串:

std::string timestr(time_t t) {
   std::stringstream strm;
   strm << t;
   return strm.str();
}
Run Code Online (Sandbox Code Playgroud)