from_stream不是std::chrono的成员



我目前正在做一个小型的家庭项目,用C++进行一些数据处理。我的输入数据包含时间戳;2022-02-11T16:05:05+01:00";。由于我需要对它进行一些算术运算(例如,减去和添加分钟(,我想将其转换为日期/时间格式。

我在Stack Overflow上看到了这个答案。我将完全相同的代码复制粘贴到我的代码编辑器(Visual Studio 17.0.6(中,它会产生大量错误,其中两个是:

C2039   'sys_time': is not a member of 'std::chrono'
C2039   'from_stream': is not a member of 'std::chrono'

然后,我用最新的GCC和Clang编译器尝试了Wandbox,再次出现了许多错误(尽管sys_time错误已经消失(。

在过去的几年里,我没有那么多地使用C++,所以我对对最新版本的所有添加。然而,我看到chrono库已经在所有这些编译器中实现,作为C++20添加的一部分。为什么我总是收到这些错误?

我可以推荐一个免费的开源预览:看看HowardHinnant

std::chrono::sys_time<std::chrono::microseconds> timestamp;
std::stringstream ss = foo();
ss >> date::parse("%Y-%m-%d %T", timestamp);

chrono库的这一部分是C++20中新增的,迄今为止仅由Visual Studio 19.x实现。

我正要推荐我的免费开源预览,但我看到奥尔坎已经为我做了。:-(

最新更新