gpt4 book ai didi

c++ - 使用 localtime_s 获取当前日期

转载 作者:太空宇宙 更新时间:2023-11-04 14:30:11 26 4
gpt4 key购买 nike

time_t t = time(0);
struct tm *now = localtime(&t);

使用上面的代码,我可以像这样简单地获取日期:

int yearNow = (now.tm_year + 1900), monthNow = (now.tm_mon + 1), dayNow = now.tm_mday

但是 Visual Studio 2015 在 localtime 上给我错误,请我使用localtime_s反而。下面是我使用 localtime_s 的代码:

time_t rawtime;
struct tm now;
localtime_s(&now, &rawtime);

但问题是,如何获取int中的实际当前年、月、日? ?我使用以下代码打印变量:cout << now.tm_year << " " << now.tm_mon << " " << now.tm_mday;但输出是-1 -1 -1

最佳答案

time_t 变量应使用 time(&rawtime) 进行初始化,以便 localtime_s 可以使用它来正确填写 结构。与第一行 time_t t = time(0) 非常相似,它要求您使用 time 函数初始化变量并向其传递空参数 (0) 或指向变量 (&rawtime) 的指针。

不幸的是,在内存中分配一个 time_t 变量不会自动计算自 Epoch 以来的时间。 Here's一个解决相同问题的问题,除了它有您要查找的代码示例。

关于c++ - 使用 localtime_s 获取当前日期,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40050638/

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