在C ++中将日期和时间字符串转换为无符号__int64

时间:2012-06-26 09:22:21

标签: c++

我在中有一项要求,我必须阅读包含日期和时间的文件并将其转换为unsigned __int64

例如,我有一个带有以下数据的文件“mytime.txt”。

2012-06-25 05:32:06.963

如何将其转换为unsigned __int64,如何将unsigned __int64转换回上述字符串以写入文件,并验证它是否正确转换为unsigned __int64

我正在使用VS.NET C ++编译器中的Windows。

我不应该使用boost

1 个答案:

答案 0 :(得分:1)

您可以使用strptime将字符串转换为结构,然后使用它转换为time_t并使用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 );