首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 开发语言 > C语言 >

求指定日期数年后日期C程序代码解决方案

2012-03-24 
求指定日期数年后日期C程序代码求指定日期数年后(或数月后)日期C程序代码,如:2012-02-16 两年后的(24个月)

求指定日期数年后日期C程序代码
求指定日期数年后(或数月后)日期C程序代码,如:2012-02-16 两年后的(24个月)日期 为2014-02-16,2012-02-29 两年后(24个月)的日期 为2014-02-28.

[解决办法]
楼主自己的思路呢?
[解决办法]
COleDateTime
COleDateTimeSpan

C/C++ code
#include <afxdisp.h>#include <stdio.h>#include <stdlib.h>int main(int argc, TCHAR* argv[]) {    COleDateTime t;    COleDateTimeSpan ts;    CString s,fmt;    int nYear;    int nMonth;    int nDay;    int nHour;    int nMin;    int nSec;    int lDays;    int nHours;    int nMins;    int nSecs;    int i,N;    // initialize MFC and print and error on failure    if (!AfxWinInit(::GetModuleHandle(NULL), NULL, ::GetCommandLine(), 0)) {        printf("Fatal Error: MFC initialization failed\n");        return 1;    }    if (argc<13) {        printf("Usage:%s sYYYY sMM sDD shh smm sss pDD phh pmm pss n {SQL|YYYY|YY}\n",argv[0]);        return 2;    }    if (stricmp(argv[12],"SQL")==0) fmt="%Y-%m-%d %H:%M:%S";    else if (stricmp(argv[12],"YYYY")==0) fmt="%Y%m%d %H%M%S";    else if (stricmp(argv[12],"YY")==0) fmt="%y%m%d %H%M%S";    else {        printf("Usage:%s sYYYY sMM sDD shh smm sss pDD phh pmm pss n {SQL|YYYY|YY}\n",argv[0]);        return 3;    }    nYear =atoi(argv[ 1]);    nMonth=atoi(argv[ 2]);    nDay  =atoi(argv[ 3]);    nHour =atoi(argv[ 4]);    nMin  =atoi(argv[ 5]);    nSec  =atoi(argv[ 6]);    lDays =atoi(argv[ 7]);    nHours=atoi(argv[ 8]);    nMins =atoi(argv[ 9]);    nSecs =atoi(argv[10]);    N     =atoi(argv[11]);    if (N<=0) {        printf("Usage:%s sYYYY sMM sDD shh smm sss pDD phh pmm pss n {SQL|YYYY|YY}\n",argv[0]);        return 4;    }    t=COleDateTime( nYear, nMonth, nDay, nHour, nMin, nSec);    ts=COleDateTimeSpan( lDays, nHours, nMins, nSecs );    for (i=1;i<=N;i++) {        s=t.Format(fmt);        printf("%08d %s\n",i,s);        t=t+ts;    }    return 0;}
[解决办法]
C/C++ code
    year += n;    if (leap(year-n) && !leap(year-n))    {        if (month == 2 && day == 29)        {            day--;        }    }    printf("%d years after: %d-%d-%d", n, year, month, day);} 

热点排行