date.h
#pragma once
#include
#include
using
namespace
std;
class date
}date(const date& d)//建構函式
~date()
//d1=d2
//d1=d1
date &operator=(const date& d)
return *this;
}bool isleapyear(int year)
else
return
false;
}//int getmonthday(int year, int month)
//;// //不好,因為如果是閏年的話,二月始終是28,有錯誤
///*
// if (isleapyear(year) && month == 2)
// */
// if (month == 2&&isleapyear(year))
//
// return monthdays[month];
//}int getmonthday(int year, int month)
;int day=monthdays[month];
if (month == 2 && isleapyear(year))
return day;
}<(&d1,d2);
bool
operator
<(const date& d)
else
}bool
operator>(const date& d)
bool
operator
<=(const date& d)
bool
operator>=(const date& d)
bool
operator==(const date& d)
//d1!=d2---d1相當於this,d2相當於d
bool
operator!=(const date& d)
//d1+100--d1不變
date operator+(int day)
//定義乙個日期,加了100天後的結果
date ret(*this);//在傳參和定義實參時,this不需要參與。但是在函式體內this
//是顯性的,只有用this才能定義這個物件
ret._day += day;
while (ret._day > getmonthday(ret._year, ret._month))
}return ret;//不能引用。ret是乙個區域性變數,用引用相當於返回ret的別名。
//出了作用域,ret的棧幀銷毀,不存在。
}date operator-(int day)
date ret(*this);
ret._day -= day;
while(ret._day<=0)
ret._day += getmonthday(ret._year, ret._month);
}return ret;
}date &operator+=(int day)
date &operator-=(int day)
date& operator++()//預設前置
date& operator++(int)//後置——這個引數只是為了和前置構成過載
date operator--()//預設前置
date operator--(int)
//d1-d2
intoperator - (const date& d)
int days = 0;
while (min < max)
return days*flag;//如果*this}
void show()
private:
int _year;
int _month;
int _day;
};void testdate()
Date類,實現日期類
1 概述 類 date 表示特定的瞬間,精確到毫秒。2 構造方法 public date public date long date 把乙個long型別的毫秒值轉換成乙個日期物件 3 成員方法 public long gettime 獲取乙個日期物件物件毫秒值 public void settime...
date 日期工具類
兩個日期相減獲得月份 param startcal param endcal return throws parseexception public static int twodatagetmonth string startcal,string endcal throws parseexcept...
date日期類實現 C
include include includeusing namespace std class date 拷貝構造 date const date d 賦值運算子過載 date operator const date d return this 運算子過載 date operator int da...