7 个版本
0.1.6 | 2023 年 11 月 26 日 |
---|---|
0.1.5 | 2023 年 11 月 26 日 |
#134 in 日期和时间
44 每月下载量
54KB
1K SLoC
calendrier
处理法国革命历日期的库。
它能够提供从 1583 年到 2999 年(已知春分点的年份)的正确日期。这是整个互联网上唯一且最正确的实现之一。在此范围之外,年份将开始每几年移动一天。
春分日期 由巴黎天文台收集和计算。
应用 18 分钟的时间偏移量,以纠正自 18 世纪以来时间测量的缓慢变化。
用法
use calendrier::*;
let date = DateTime::from_ymd(1, 1, 1); // Calendar starts on september 22nd, 1792
let date_fmt = date.to_string();
assert_eq!(date_fmt.as_str(), "1 Vendémiaire 1");
let ts = date.timestamp(); // Convert to timestamp, number of seconds since republican epoch
assert_eq!(ts, Timestamp { seconds: 0 }); // Timestamps are encapsulated in a struct so that you don't confuse them with unix timestamps
let ts_unix = ts.to_unix(); // Convert to unix timestamp
assert_eq!(ts_unix, -5594228280);
日历规范
第一章。法国人的时代从共和国的成立开始计算,该共和国成立于公历 1792 年 9 月 22 日,这一天太阳到达真正的秋分,进入天秤座,巴黎天文台上午 9 点 18 分 30 秒。
II. 公历在民用方面被废除。
III. 每年从午夜开始,以巴黎天文台的真正秋分日开始。
IV. 法国共和国的第一年从 1792 年 9 月 22 日午夜开始,到 1793 年 9 月 21 日午夜结束。
V. 第二年开始于 1793 年 9 月 22 日午夜,这一天秋分真正到达,对于巴黎天文台来说,是晚上 3 点 11 分 38 秒。
VI. 关于将第二年开始日期定为 1793 年 1 月 1 日的法令被报道;1793 年 1 月 1 日至 9 月 21 日 inclusive 之间通过的所有带日期的共和国第二年的文件,都被视为属于共和国的第一年。
VII. 年被分为十二个月,每个月三十天:在十二个月之后是五个天,以完成普通年;这 5 天不属于任何月份。
VIII. 每个月被分为三个相等的三分之一,每个三分之一是十天,被称为十日。
IX. 十日的名称是
Primedi, Duodi, Tridi, Quartidi, Quintidi, Sextidi, Septidi, Octidi, Nonidi, Décadi.
月份的名称是
秋季:葡萄收获月、雾月、霜月;
冬季:雪月、雨月、风月;
春季:播种月、花月、牧月;
夏季:热月、长月、果实月。
最后五天被称为无裤党日。
十。普通年根据春分的位置增加一天,以保持公历年与天体运动的吻合。这一天称为革命日,放在年底,成为无裤党日的第六天。这个每四年一次增加一天的周期被称为法兰西年,以纪念经过四年的努力,法国实现了共和政体。法兰西年的第四年称为六分年。
十一。一天从午夜到午夜被分成10个部分或小时,每个部分再分成10个部分;以此类推,直到时间的最小可测部分。小时的一百分之一称为十分之一分钟;分钟的百分之一称为十分之一秒。从共和国三年第一个葡萄收获月开始,本条款适用于公共文件。
十二。教育委员会负责印刷新的日历,并附上简单说明以解释其原则和使用方法。
十三。日历和说明将发送给行政部门、市政府、法院、和平法官以及所有公职人员、军队、民众团体和所有学院及学校。临时执行委员会将把日历转发给法国驻外国的部长、领事和其他代理人。
十四。所有公共文件将按照新的年制进行日期标注。
十五。教师、导师和导师,家庭父母,以及所有负责教育孩子的管理者,将尽快向他们解释新的日历,按照附带的说明。
十六。每四年或每法兰西年,在革命日,将举行共和节日,以纪念法国大革命。
第三条和第九条之间的矛盾通过优先考虑第三条,在79年由巴黎公社决定解决。实际上,一年并不正好是365.25天长,因此法兰西年不一定总是365*4+1天长。
也作为提醒:罗姆的工作改进从未被采用。这本来也不是一个好主意。这个包永远不会实现这个改革。
依赖关系
~1–1.5MB
~25K SLoC