C++ 将日期和时间字符串转换为C+中的无符号uu int64+;
我在中有一个要求,我必须读取一个包含日期和时间的文件,并将其转换为C++ 将日期和时间字符串转换为C+中的无符号uu int64+;,c++,C++,我在中有一个要求,我必须读取一个包含日期和时间的文件,并将其转换为未签名的\uu int64 例如,我有一个文件“mytime.txt”,其中包含以下数据 2012-06-25 05:32:06.963 如何将其转换为unsigned\uuu int64,如何将unsigned\uu int64转换回上述字符串以写入文件,并验证其是否正确转换为unsigned\uu int64 我在V.NET C++编译器中工作Windows。 我不应该使用boost您可以使用strtime将字符串转换为st
未签名的\uu int64
例如,我有一个文件“mytime.txt”,其中包含以下数据
2012-06-25 05:32:06.963
如何将其转换为unsigned\uuu int64
,如何将unsigned\uu int64
转换回上述字符串以写入文件,并验证其是否正确转换为unsigned\uu int64
我在V.NET C++编译器中工作Windows。
我不应该使用
boost
您可以使用strtime
将字符串转换为struct,然后使用它转换为time,并使用gmtime
struct tm tm;
time_t epoch;
if ( strptime(timestamp, "%Y-%m-%d %H:%M:%S", &tm) != NULL )
epoch = mktime(&tm);
// Reverse
struct tm * ptm;
time ( &epoch );
ptm = gmtime ( &epoch );
标准C库不能处理1秒以下的分辨率,因此您必须求助于平台特定的函数。至于解析字符串,请使用其中一个函数,或者直接使用类似的函数进行提取。看一看-你的函数是它的一个子集。@海报上的AleksG说他不应该使用Boost,因此该问题的答案不适用。@JoachimPileborg Oops,my bad:错过了这一行。“atoi”将生成
2012
,哪个是有效的\uuu int64
。但你可能想要一个不同的结果。哪个?