python - 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?
解决方案
天哪,所以我解决了,问题是在 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
推荐阅读
- java - 缺少 Hibernate ServiceRegistry 类?
- json - Jolt:如何将一个键用于两个不同的属性
- python - 无法连接到 HTTPS URL,因为 SSL 模块在 Mac/OS 上不可用
- c# - 为什么我的 Unity IOS App 上传到 Xcode 后会崩溃?
- node.js - 是否可以创建一个虚拟摄像头,然后使用 node-webcam 向它提供视频输入?
- laravel - 我如何通过添加或减去初始数据来更新数据库表
- r - 如果行的任何列中存在值自动标记整行 R
- javascript - node js + neo4j 的奇怪反应
- css - SassC 错误 - 我更改什么都没关系,我仍然收到 Invalid CSS 消息
- javascript - 使用 lodash 从对象数组中获取值