Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/c/64.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
显示日期早于当前格式90天(ANSI C)_C_Mfc_Ansi - Fatal编程技术网

显示日期早于当前格式90天(ANSI C)

显示日期早于当前格式90天(ANSI C),c,mfc,ansi,C,Mfc,Ansi,有没有一种简单的方法可以比现在提前90天计算?例如,如果今天是5月31日,那么提前90天的日期是什么?是否有这样做的功能?谢谢没有任何功能,没有 但你可以很容易地做到这一点: 使用获取当前时间 减去90天的秒数 使用转换为本地时间 如果需要,使用转换为字符串 不是单一功能,不是 但你可以很容易地做到这一点: 使用获取当前时间 减去90天的秒数 使用转换为本地时间 如果需要,使用转换为字符串 DateTime dt=DateTime.Now.AddDays(-90) 字符串edate=dt.T

有没有一种简单的方法可以比现在提前90天计算?例如,如果今天是5月31日,那么提前90天的日期是什么?是否有这样做的功能?谢谢

没有任何功能,没有

但你可以很容易地做到这一点:

  • 使用获取当前时间
  • 减去90天的秒数
  • 使用转换为本地时间
  • 如果需要,使用转换为字符串

    • 不是单一功能,不是

      但你可以很容易地做到这一点:

      • 使用获取当前时间
      • 减去90天的秒数
      • 使用转换为本地时间
      • 如果需要,使用转换为字符串

      • DateTime dt=DateTime.Now.AddDays(-90)


        字符串edate=dt.ToString(“dd-MM-yyy”)

        DateTime dt=DateTime.Now.AddDays(-90)

        字符串edate=dt.ToString(“dd-MM-yyy”)

        #包括
        #包括
        #包括
        内部主(空){
        time_t=time(0);//现在
        struct-tm[1];
        memmove(tm,localtime(&t),sizeof tm);//转换为struct tm
        tm->tm_mday-=90;//减去90天
        time\u t then2=mktime(tm);//转换为time\u t并进行规格化
        printf(“%s\n”,ctime(&then2));
        返回0;
        }
        
        #包括
        #包括
        #包括
        内部主(空){
        time_t=time(0);//现在
        struct-tm[1];
        memmove(tm,localtime(&t),sizeof tm);//转换为struct tm
        tm->tm_mday-=90;//减去90天
        time\u t then2=mktime(tm);//转换为time\u t并进行规格化
        printf(“%s\n”,ctime(&then2));
        返回0;
        }
        
        可以使用
        COleDateTime
        COleDateTimeSpan

        #include <atlcomtime.h>
        
        COleDateTime dt = COleDateTime::GetCurrentTime();
        COleDateTimeSpan span(90, 0, 0, 0);
        COleDateTime dt2 = dt - span;
        
        #包括
        COleDateTime dt=COleDateTime::GetCurrentTime();
        COleDateTimeSpan(90,0,0,0);
        COleDateTime dt2=dt-span;
        
        可以使用
        COleDateTime
        COleDateTimeSpan

        #include <atlcomtime.h>
        
        COleDateTime dt = COleDateTime::GetCurrentTime();
        COleDateTimeSpan span(90, 0, 0, 0);
        COleDateTime dt2 = dt - span;
        
        #包括
        COleDateTime dt=COleDateTime::GetCurrentTime();
        COleDateTimeSpan(90,0,0,0);
        COleDateTime dt2=dt-span;
        
        首先,您需要决定如何表示日期。您提到了ANSI C和MFC的一种有点邪恶的混合。是哪一个?据我所知,MFC是一个C++库,MS编译器甚至不支持ANSI C。首先,您需要决定如何表示日期。您提到了ANSI C和MFC的一种有点邪恶的混合。是哪一个?据我所知,MFC是C++库,MS编译器甚至不支持ANSI C+1。这是我将使用的方法,而不是将现在的日期/时间设置为中午,只打印日期(以避免DST问题)。“怀疑行动”已经调查了这种程度的担忧。虽然此代码对
        tm_isdst
        字段的非调整可能会解决这一问题,+1这是我将使用的方法,而不是将现在的日期/时间设置为中午,并仅打印日期(以避免DST问题)。“怀疑行动”已经调查了这种程度的担忧。尽管此代码对
        tm_isdst
        字段的非调整可能会解决此问题,