首页 > 解决方案 > Python中的高斯日期计算

问题描述

我正在尝试制定一个公式来计算高斯日期。我的教授说

x = year - (14 - month)/12
y = x + x/4 - x/100 + x/400
z = month + 12 * ((14 - month) /12) -2 
dow = (day + y + (31 * z)/12) % 7

道琼斯指数的结果为 0 是星期日等

但是,如果我使用公式进行任何计算,结果总是错误的。我看到我需要对它进行整型,所以我用 int() 包围这些值,尽管结果仍然不正确。

今天的例子

Day = 2
Month = 5
Year = 2021


Dow = 2.16 so 2 so it says it’s a Tuesday?

标签: python

解决方案


天哪,所以我解决了,问题是在 java 中它会自动将每个除法设为 int 并删除小数,但在 python 中不会这样做,因此必须将代码更改为。

x = year-int((14-month)/12)

y = int(x +(x / 4)) - int((x / 100)) + int((x / 400))

z = month + 12 * int((int((14 - month)) / 12)) - 2;

dow = (day + y + int((31*z)/12))%7

推荐阅读