从类Date派生出类MyDate, 实现在一个日期上加天数,一个日期减另一个日期
解决时间 2021-02-21 19:48
- 提问者网友:杀手的诗
- 2021-02-21 05:01
谢谢!~但可以根据下面编写一个完整程序吗?急!!!~~
#include
#include
using namespace std;
class Date
{
int year, month, day;
void init();
public:
Date(const string& s);
Date(int y=2000, int m=1, int d=1);
bool isLeapYear()const;
friend ostream& operator<<(ostream& o, const Date& d);
};
void Date::init()
{
if(year>5000 || year<1 || month<1 || month>12 || day<1 || day>31)
exit(1);
}
Date::Date(const string& s)
{
year = atoi(s.substr(0,4).c_str());
month = atoi(s.substr(5,2).c_str());
day = atoi(s.substr(8,2).c_str());
init();
}
Date::Date(int y, int m, int d){
year=y, month=m, day=d;
init();
}
bool Date::isLeapYear()const{
return (year % 4==0 && year % 100 )|| year % 400==0;
}
ostream& operator<<(ostream& o, const Date& d)
{
o< return o<}
最佳答案
- 五星知识达人网友:长青诗
- 2021-02-21 05:28
能实现日期加 1 // Date.h: interface for the CFCWorldDate class. //得到一个月的天数 int DaysInMonth(); //判断是否为润年 bool
全部回答
- 1楼网友:行路难
- 2021-02-21 06:27
jsp中日期比较用java提供的方法:
日期比较
可以在jsp脚本中使用任何java方法。如果想要比较两个日期,
可以参照下面的方法来做:
使用gettime()方法得到毫秒数,然后比较毫秒数就行了。
使用before(),after(),equals()方法。比如,new date(99,2,12).before(new date(99,2,18))返回true。
使用compareto()方法,这个方法在comparable接口中定义,在date中实现。
参考实例:
string s1 = "20130722162345";
string s2 = "20130722162845";
simpledateformat sdf = new simpledateformat("yyyymmddhhmmss");
date d1 = sdf.parse(s1);
date d2 = sdf.parse(s2);
system.out.println("两时间差为:"+(d2.gettime()-d1.gettime())+"ms");
我要举报
大家都在看
推荐资讯