gpt4 book ai didi

c++ - 将日期时间转换为毫秒 - C++ - 跨平台

转载 作者:太空狗 更新时间:2023-10-29 19:47:54 24 4
gpt4 key购买 nike

我想将格式为“20160907-05:00:54.123”的字符串转换为毫秒。我知道 strptime 在 Windows 中不可用,我想在 Windows 和 Linux 中运行我的程序。我也不能使用第三方库。我可以标记字符串并转换它。但是有没有更优雅的方式,比如使用 strptime 来做到这一点?

最佳答案

std::sscanf 怎么样?

#include <iostream>
#include <cstring>

int main() {
const char *str_time = "20160907-05:00:54.123";
unsigned int year, month, day, hour, minute, second, miliseconds;

if (std::sscanf(str_time, "%4u%2u%2u-%2u:%2u:%2u.%3u", &year, &month,
&day, &hour, &minute, &second,&miliseconds) != 7)
{
std::cout << "Parse failed" << std::endl;
}
else
{
std::cout << year << month << day << "-" << hour << ":"
<< minute << ":" << second << "." << miliseconds
<< std::endl;
}
}

输出(ideone):201697-5:0:54.123.

但是,您应该确保输入有效(例如,day 可以在 [0,99] 范围内)。

关于c++ - 将日期时间转换为毫秒 - C++ - 跨平台,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39371527/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com