C ++检查日期比当前日期早6个月

问题描述 投票:0回答:2

因此,我有一个导师记录列表,它在其中保存日期加入和日期终止。一旦他们在6个月后终止,该程序将自动删除教师记录。

所以我如何检查当前日期自终止日期以来已经有6个月或更长时间。

我需要输入日期加入和终止日期。

c++ date
2个回答
0
投票

[INFO]不适用于LEAP YEAR[!]对于leap年,您可能需要计算多少leap年并将其添加到总天数中

可能您可以使用称为Rata Die的算法。用户可以通过Rata die按提供的日期计算总天数。检查下面的代码。

int totalDays(int y, int m, int d) 
{ 
     if (m < 3)
     y--, m += 12;
     return 365 * y + y / 4 - y / 100 + y / 400 + (153 * m - 457) / 5 + d - 306;
}
int main()
{
     int year = 2020;
     int month =6;
     int day =23;
     cout << totalDays(year,month,day);
     return 0;
}

您的输出将是:

737599

在您的情况下,您可以计算终止日期和当前日期的总天数,并将两者相减。终止电流之间的差必须小于等于180(6个月)。如果它小于等于180,则可以继续执行删除辅导员功能。


0
投票

c ++ 20概念代码

#include <chrono>

auto then = year_month_day(tutor.join);
auto current = year_month_day(time.now());
auto diff = current - then;
if (diff >= year_month_day(0,6,0))
  delete_tutor(tutor);
热门问题
推荐问题
最新问题