gpt4 book ai didi

c++ - Mktime 返回不同的值

转载 作者:行者123 更新时间:2023-11-28 06:19:14 25 4
gpt4 key购买 nike

我有一个日期操作类。当我尝试用相同的值初始化它时,第一个实例工作正常,但所有其他实例每次都返回不同的值。我将日期保存在 time_t DATE 变量中。

它的构造函数:

CDate (int y,int m,int d)
{
tm * datetmp ;
datetmp = localtime (&DATE);
datetmp->tm_year = y - 1900;
datetmp->tm_mon = m - 1;
datetmp->tm_mday = d;
DATE=mktime ( datetmp );
}

主要内容:

CDate a ( 2000, 1, 30 );
CDate b ( 2000, 2, 27 );
cout <<a.DATE <<endl;
cout << b.DATE << endl;

每次运行后的结果:

949240864951646384

949240864951605568

949240864951632960

949240864951617456

949240864951662240

最佳答案

我不太确定这段代码应该如何工作,但我想你想要这样的东西:

CDate (int y,int m,int d)
{
tm datetmp;
memset(&datetmp, 0, sizeof(datetmp));
datetmp.tm_year = y - 1900;
datetmp.tm_mon = m - 1;
datetmp.tm_mday = d;
DATE = mktime(datetmp);
}

关于c++ - Mktime 返回不同的值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29593571/

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