【问题标题】:Formula to add days to a Gregorian date将天数添加到公历日期的公式
【发布时间】:2018-09-05 16:29:29
【问题描述】:

我在看Tomohiko Sakamoto's weekday calculator。这是一个直接给定年、月、日计算星期几的公式。这让我想知道还有哪些其他简洁的日期计算快捷方式。

特别是,给定输入日期(in_year, in_month, in_day) 和要添加的天数N,返回输出(out_year, out_month, out_day) 的公式是什么?有没有类似上述算法的知名技巧?

一种方法是将输入转换为儒略日(自公元前 4713 年以来的天数),将 N 添加到其中,然后再转换回来。有两个方向的转换公式。但是合并后的公式将非常笨拙。有简化版吗?

也许甚至有一个公式可以向前或向后移动一定数量的工作日。

这个问题不是“如何用我最喜欢的编程语言进行日期算术运算?”我知道如何调用日期库来执行这些操作。更多的是好奇心和开始收集酷日期算法的希望。

【问题讨论】:

    标签: date


    【解决方案1】:

    Algorithm to add or subtract days from a date? 中的一些答案将与此相关。特别是http://howardhinnant.github.io/date_algorithms.html 提供了将 y,m,d 转换为天数并再次转换回来的代码。这两个例程背靠背运行会非常快。

    【讨论】:

      猜你喜欢
      • 2015-11-22
      • 2019-12-31
      • 1970-01-01
      • 1970-01-01
      • 2015-04-04
      • 1970-01-01
      • 1970-01-01
      • 2011-01-20
      • 1970-01-01
      相关资源
      最近更新 更多