#include <stdio.h>
#include <time.h>
class date
{
public:
date( char * NewD );
date( int NewY, int NewM, int NewD );
date();
void show();
private:
int y, m, d;
};
date::date( char * NewD )
{
sscanf( NewD, "%d-%d-%d", &y, &m, &d );
}
date::date( int NewY, int NewM, int NewD )
{
y = NewY;
m = NewM;
d = NewD;
}
date::date()
{
time_t timep;
struct tm * p;
time(&timep);
p = localtime(&timep);
y = p->tm_year+1900;
m = p->tm_mon + 1;
d = p->tm_mday;
}
void date::show()
{
printf( "%d-%d-%d\n",y,m,d );
}
int main()
{
date d1, d2(2011,3,8), d3( "2011-03-19" );
d1.show();
d2.show();
d3.show();
return 0;
}
结果:
2015-3-19
2011-3-8
2011-3-19
参考资料:
http://baike.baidu.com/view/1364018.htm
http://baike.baidu.com/link?url=3RqBc15G_OgcN87QqMimSIYbrHtQie3Mw0n7792wFsvWvI7sYOvgq1NPVqXDp4plAWfk5jnJlQmWWAQ4XBmvdK