![](/img/trans.png)
[英]C++ Boost convert UNIX Timestamp to MySQL compatible DATETIME String
[英]Getting a unix timestamp as a string in C++
我使用函數time()來獲取C ++中的時間戳,但是這樣做之后,我需要將其轉換為字符串。 我不能使用ctime,因為我需要時間戳本身(以10個字符的格式)。 麻煩的是,我不知道time_t變量采用什么形式,所以我不知道要從中轉換什么。 cout可以處理它,因此它必須是一些描述性的字符串,但是我不知道是什么。
如果有人可以幫助我,我將不勝感激。
或者,您可以將ctime的輸出提供給MySQL datetime字段並正確解釋它嗎? 出於理解的考慮,我仍然希望回答問題的第一部分,但這可以解決我的問題。
time_t
是某種整數。 如果cout
以您想要的方式處理它,則可以使用std::stringstream
將其轉換為字符串:
std::string timestr(time_t t) {
std::stringstream strm;
strm << t;
return strm.str();
}
我有同樣的問題。 我解決了如下問題:
char arcString [32];
std::string strTmp;
// add start-date/start-time
if (strftime (&(arcString [0]), 20, "%Y-%m-%d_%H-%M-%S", (const tm*) (gmtime ((const time_t*) &(sMeasDocName.sStartTime)))) != 0)
{
strTmp = (char*) &(arcString [0]);
}
else
{
strTmp = "1970-01-01_00:00:00";
}
嘗試sprintf(string_variable, "%d", time)
或std::string(itoa(time))
嗎?
http://www.codeguru.com/forum/showthread.php?t=231056
最后, time_t
只是一個整數。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.