本文目录
设计一个日期型数据类型Date,实现日期的相关运算具体要求如下
我这里有自己写的CDate类,不知道合不合你意,先贴上头文件。
#pragma once#include 《Windows.h》//Date类定义class CDate{public: CDate(unsigned int iYear=0,unsigned int iMonth=1,unsigned int iDay=1);//构造函数 CDate(unsigned int nDays);//构造函数 virtual ~CDate(void);//析构函数 const CDate& operator+(int days);//操作符+ const CDate& operator-(int days);//操作符- const int operator-(CDate Date);//操作符- (两个日期相减) const CDate& operator++();//自加 const CDate& operator--();//自减 const CDate& operator+=(int days);//加赋值 const CDate& operator-=(int days);//减赋值 void GetDate(int &iYear,int &iMonth,int &iDay);//取日期 bool SetDate(int iYear,int iMonth,int iDay);//设置日期 int GetBaseDays(int uYear=0,unsigned int uMonth=1,unsigned int uDay=1);//获取距离基准日期的天数,以0年1月1日0时为0,负代表早于该时刻,正代表晚于该时刻 unsigned int GetDayOfWeek();//获取星期 bool IsLeapYear(int nYear,bool & IsLeap);//判断闰年 unsigned int GetDaysOfMonth(int uYear,unsigned int uMonth);//获取该月总天数 bool GetDateFromDays(int nBaseDays,unsigned int &iYear,unsigned int &iMonth,unsigned int &iDay);//从距离基准天数的积日换算成日期 bool ShowCalendar(unsigned int uYear,unsigned int uMonth);//显示月历private: bool LTDateCheck(int uYear,unsigned int uMonth,unsigned int uDay);//日期合法性检察 unsigned int m_iYear;//年 unsigned int m_iMonth;//月 unsigned int m_iDay;//日 unsigned int m_iDayOfWeek;//星期 int m_nDays;//积日(距离基准日期的天数)};
另外有测试函数,已通过验证,保证正确,算法纯真。
java里面的时间是什么数据类型
java里面的时间是Date类型的。java的基本数据类型包括:byte,short,int,lang,float,double,char,Boolean,没有Date类型。date类型是一个封装类。获取当前时间的方法可以用getDate或者new date()来获取。
ORACLE中的DATE数据类型是怎么定义的
分两种情况,一种是在创建表的时候直接设置date类型,另一种是在表已存在的情况下,更改某字段类型为date。 第一种情况: create table test(id int,ttime date);如,上述内容是直接设置ttime字段类型为date。 第二种情况: alter table test mo