回 帖 发 新 帖 刷新版面

主题:日期递增怎么写

就是写一个函数,实现对日期的递增。比如首先赋值一个日期是2000-1-1,然后就是日加一,并且输出年月日,再使日加一,再输出。要可以输出几年的哈,至少要判断闰年啊等等的,谢谢。

回复列表 (共9个回复)

沙发

C++Builder里的TDate类型可以直接使用~~~

板凳

time_t + 24*3600

3 楼


额,能举个例子么?还是不太会,初学者就这样样子,哎

4 楼

不懂啊,不过不知道能用switch..case吗?还有那个润年书上有例子,好像是:(n%4==0&&n%100!=0||n%400==0)

5 楼

我也是初学,以后多多关照啊,谢谢啦

6 楼

楼主,你QQ名字是叫逆风吗,尾号为3988的

7 楼

呵呵,现在报Q号都开始用尾号为XXX的啦:)

8 楼

是啊,希望高手帮点忙咯

9 楼

[code=c]
#include <time.h>
#include <stdio.h>

time_t maketime( int year, int mon=1, int day=1, int hour=0, int min=0, int sec=0 )
{
    struct tm t = { sec,min,hour, day,mon-1,year-1900, 0,0,0 };
    return mktime( &t );
}

void printtime( time_t t )
{
    if( t == -1 )
        return;

    struct tm* ptm = localtime( &t );
    printf( "%04d年%02d月%02d日 %02d时%02d分%02d秒\n"
        , ptm->tm_year+1900, ptm->tm_mon+1, ptm->tm_mday
        , ptm->tm_hour, ptm->tm_min, ptm->tm_sec );
    printf( "本年第%03d天,星期%01d\n"
        , ptm->tm_yday+1, ptm->tm_wday );
}

int main( void )
{
    time_t t = maketime(2000,1,1);
    if( t == -1 )
        return 1;

    for( int i=0; i<10; ++i )
    {
        printtime( t + 24*60*60*i );
    }

    return 0;
}
[/code]

我来回复

您尚未登录,请登录后再回复。点此登录或注册