解析时间戳char到INT进行计算

Parse timestamp char to int for calculation

本文关键字:计算 INT 时间戳 char      更新时间:2023-10-16

我在 string中存储了一个时间戳,例如10:22:23。现在,我想要两个单独的变量中的小时和分钟,以便我可以与它们进行计算。

我的方法是,我将前两个数字(小时(存储在char中,而4和5位(分钟(也将其存储在char中。像

String timestamp = "10:22:23";
const char *timestamp_char = timestamp.c_str();

现在我可以用timestamp_char[]调用每个数字。我想要一个整数中的timestamp_char[0]timestamp_char[1],在这种情况下," 10"。另外,当时间是09:22:23时,我的整数应该看起来像这样的" 9"。与timestamp_char[4]timestamp_char[5]

这样做的一种简单方法可能是:

std::string time = "10:22:33";
int hrs = std::stoi( time.substr( 0, 2 ) );
int mins = std::stoi( time.substr( 3,  2) );
int secs = std::stoi( time.substr( 6, 2 ) );
int h, m; 
const char *timestamp_char = timestamp.c_str(); 
sscanf(timestamp_char, "%d:%d", &hr, &m);