【发布时间】:2021-09-14 06:24:08
【问题描述】:
'''
int main()
{
struct std::tm tm;
std::istringstream ss("25JUN20");
ss >> std::get_time(&tm, "%e%b%y"); // or just %T in this case
std::time_t time = mktime(&tm);
std::cout << tm.tm_year << std::endl;
}
'''
我尝试使用此代码,但我的年份出现偏差。 任何帮助将不胜感激。
谢谢
【问题讨论】:
-
std::cout << tm.tm_year + 1900 << std::endl; -
@mediocrevegetable1 我必须将字符串转换为时间格式,这样我才能将其重新生成为我想要的格式。
-
@S.M. 60675957 这是我在 1900 年之后得到的结果,我仍然无法理解它如何等同于 2020
-
@sparshjain 我认为问题在于它无法解析
JUN(尽管我不是 100% 确定)。你能做到Jun吗? -
你试过
struct std::tm tm{};吗?你的语言环境是什么? b 月份,使用区域设置的月份名称。