主题:日期递增怎么写
yy21drd
[专家分:0] 发布于 2011-10-18 11:45:00
就是写一个函数,实现对日期的递增。比如首先赋值一个日期是2000-1-1,然后就是日加一,并且输出年月日,再使日加一,再输出。要可以输出几年的哈,至少要判断闰年啊等等的,谢谢。
回复列表 (共9个回复)
沙发
cgl_lgs [专家分:21040] 发布于 2011-10-18 12:12:00
C++Builder里的TDate类型可以直接使用~~~
板凳
bruceteen [专家分:42660] 发布于 2011-10-18 13:41:00
time_t + 24*3600
3 楼
yy21drd [专家分:0] 发布于 2011-10-18 16:22:00
额,能举个例子么?还是不太会,初学者就这样样子,哎
4 楼
uestc2011 [专家分:0] 发布于 2011-10-19 13:18:00
不懂啊,不过不知道能用switch..case吗?还有那个润年书上有例子,好像是:(n%4==0&&n%100!=0||n%400==0)
5 楼
uestc2011 [专家分:0] 发布于 2011-10-19 13:19:00
我也是初学,以后多多关照啊,谢谢啦
6 楼
winmain2008 [专家分:280] 发布于 2011-10-25 10:47:00
楼主,你QQ名字是叫逆风吗,尾号为3988的
7 楼
cgl_lgs [专家分:21040] 发布于 2011-10-25 11:11:00
呵呵,现在报Q号都开始用尾号为XXX的啦:)
8 楼
yy21drd [专家分:0] 发布于 2011-10-28 22:57:00
是啊,希望高手帮点忙咯
9 楼
bruceteen [专家分:42660] 发布于 2011-10-29 08:43:00
[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]
我来回复