C++ 如何将儒略日数转换为儒略日期?44332到2021年5月17日?

C++ 如何将儒略日数转换为儒略日期?44332到2021年5月17日?,c++,C++,我能够将常规日期(如2021年5月19日)转换为朱利安日期44334(自1990年以来的天数) 然而,我现在被要求做相反的事情,我只是不知道如何做 你能在这里帮我解释一下逻辑吗?如果你已经在使用它,你可以使用date.h或它的C++20实现 using namespace date; using namespace date::literals; 这样就行了 year_month_day ymd(1990_y/01/01); // Create a date object. '_y' is a

我能够将常规日期(如2021年5月19日)转换为朱利安日期44334(自1990年以来的天数)

然而,我现在被要求做相反的事情,我只是不知道如何做


你能在这里帮我解释一下逻辑吗?

如果你已经在使用它,你可以使用
date.h
或它的C++20实现

using namespace date;
using namespace date::literals;
这样就行了

year_month_day ymd(1990_y/01/01); // Create a date object. '_y' is a literal like 'f' for float which comes with `date::literals` or `chorno::literals`.
sys_days total_days = (sys_days)ymd; // Convert it to a time_point.
total_days += days(44334); // Add the days.
year_month_day later = total_days; // Convert it back to an object.
我在这里找到了帮助:

您只需颠倒计算即可。甚至不是一个编程问题,只是解决一个不同变量的方程。高中的东西。因为你已经有了将
05/19/2021
转换为
44334
的代码,你可以重新组织你的代码结构,使之具有日期的中间表示形式,然后做相反的事情会很容易。请参阅和许多其他示例。这里有一个术语问题。朱利安日是从公元前4714年11月24日开始的一个天数,在公历的公历中()。儒略日期是儒略历()中的日期。2021年5月19日是1990年1月1日之后的11461天。您要查找的是1899-12-31之后的天数。这通常被称为Excel日期,因为它是Microsoft Excel中使用的度量值。@Codeissimple仍然缺少什么?