c++ - [C++] 将天数添加到抽象日期的算法,例如。一年有13个月,第13个月有40天

标签 c++ algorithm date

我的任务很复杂,我不知道从哪里开始。我需要编写一个函数,将天数添加到给定日期 (dd/mm/yyyy),并在结果中返回一个日期,但问题是,年份不一定需要是乔治亚历,例如。它可以有 13 个月,第 13 个月有 40 天。我不需要代码,我需要某种算法来知道从哪里开始。我尝试使用 Julian Day Number,但无法根据需要对其进行编辑。如果有人有建议,他们将不胜感激。我不能使用像 time_t 这样的包装器

最佳答案

你可以写两个函数:

int DateToDay(const Date& date);
Date DayToDate(int day);

这会将 Date 转换为自 00/00/00 以来花费的天数并返回到您的日历中(这很简单,可以用通用公式表示 - 您需要知道每年的月份和每个月的天数,它们定义了您的日历 + 闰年的一些逻辑)。之后,您可以将日期添加到

Date result_date = DayToDate(DateToDay(start_date)+days_to_add);

关于c++ - [C++] 将天数添加到抽象日期的算法,例如。一年有13个月,第13个月有40天,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37577869/

相关文章:

c++ - C++中的左大括号 "{"错误

由 C++ STL 卷积

php - 日期的平均天数 Mysql、PHP

PHP/MySQL 在 DST 更改期间按 DATETIME 字段进行选择

c++ - 在 C++ 中设置实现?

c++ - 使用 icc -static 问题编译

c++ - 具有多种可行类型的模板重载解析

algorithm - 我们可以在小于 O(n*n) ...( nlogn 或 n) 的时间内计算吗

c - 在聊天中实现彼得森算法

java - 使用日期显示以前的登录