C++ 使用ColeDateTimeSpan将天数减去为ColeDateTime
我必须为我的一个作业更新一个旧的日期类,我被这个函数卡住了,我必须重做 如果操作可行,函数需要返回Bool 我要做的是用ColeDateTimeSpan减去天数,得到ColeDateTime 我知道我可以做这样的事情:C++ 使用ColeDateTimeSpan将天数减去为ColeDateTime,c++,coledatetime,C++,Coledatetime,我必须为我的一个作业更新一个旧的日期类,我被这个函数卡住了,我必须重做 如果操作可行,函数需要返回Bool 我要做的是用ColeDateTimeSpan减去天数,得到ColeDateTime 我知道我可以做这样的事情: int i = 2; COleDateTime time_DT = COleDateTime(2014, 2, 20, 0, 0, 0); COleDateTimeSpan time_SP = COleDateTimeSpan(i); time_DT = time_DT
int i = 2;
COleDateTime time_DT = COleDateTime(2014, 2, 20, 0, 0, 0);
COleDateTimeSpan time_SP = COleDateTimeSpan(i);
time_DT = time_DT - time_SP;
cout << time_DT.GetDay() << endl;
谢谢
编辑:我的意思是减法 我知道对你的作业来说已经太晚了,不过,其他人可能会觉得它很有用
bool Date::AddDays(long days)
{
// Copy the original value to temporary variable so that it is not lost when subtraction results
// in invalid time.
COleDateTime dtTime(m_time);
// Check the time for validity before performing subtraction.
if(dtTime.GetStatus() != COleDateTime::valid )
return false;
// Check the input for valid value range. Must be positive value.
if(days < 0)
return false;
// Use that constructor of 'COleDateTimeSpan' which takes days as input.
COleDateTimeSpan tsDays(days, 0,0,0); // (Days, Hours, Min, Sec).
// Perform the subtraction.
dtTime = dtTime - tsDays;
// Check if the subtraction has resulted into valid time.
if(dtTime.GetStatus() != COleDateTime::valid )
return false;
// Copy the result from temporary variable to class member.
m_time = dtTime;
return true;
}
bool Date::AddDays(长天数)
{
//将原始值复制到临时变量,以便在减法结果时不会丢失
//在无效时间。
COleDateTime dtTime(MU时间);
//在执行减法之前检查时间是否有效。
if(dtTime.GetStatus()!=COleDateTime::valid)
返回false;
//检查输入的有效值范围。必须为正值。
如果(天数<0)
返回false;
//使用“COleDateTimeSpan”的构造函数,它以天作为输入。
COleDateTimeSpan tsDays(天,0,0,0);/(天,小时,分钟,秒)。
//执行减法。
dtTime=dtTime-tsDays;
//检查减法是否导致有效时间。
if(dtTime.GetStatus()!=COleDateTime::valid)
返回false;
//将结果从临时变量复制到类成员。
m_time=dtTime;
返回true;
}
bool Date::addDays(long days)
{
bool bRet = true;
COleDateTimeSpan ts(m_time); //m_time being my COleDateTime
COleDateTimeSpan tl(days);
if (tl > ts)
{
bRet = false;
return bRet;
}
else
{
return bRet;
}
}
bool Date::AddDays(long days)
{
// Copy the original value to temporary variable so that it is not lost when subtraction results
// in invalid time.
COleDateTime dtTime(m_time);
// Check the time for validity before performing subtraction.
if(dtTime.GetStatus() != COleDateTime::valid )
return false;
// Check the input for valid value range. Must be positive value.
if(days < 0)
return false;
// Use that constructor of 'COleDateTimeSpan' which takes days as input.
COleDateTimeSpan tsDays(days, 0,0,0); // (Days, Hours, Min, Sec).
// Perform the subtraction.
dtTime = dtTime - tsDays;
// Check if the subtraction has resulted into valid time.
if(dtTime.GetStatus() != COleDateTime::valid )
return false;
// Copy the result from temporary variable to class member.
m_time = dtTime;
return true;
}