|
计算器程序
程序名称: |
日期间隔计算 |
平台: |
TI-Nspire |
系统/软件要求: |
TI-nspire with cas |
版本号: |
1.0 |
类型: |
其他 |
作者: |
luojiaweil |
大小(K): |
2.28 |
更新日期: |
2012-04-15 |
描述: |
计算格里高利历施行(1582年10月15日)后任意两天间隔 |
已知缺陷: |
- |
源代码: |
开源/部分开源 |
ti-nspire自带的日期计算只能支持1950-2050这100年间的计算。我根据苏宜编著的《天文学新概论》中给出的算法做了这个程序。之所以把时间限定在格里高利历施行后,是因为之前的儒略历没有“百年不闰,四百年又闰”的设计,而且格里高利历施行时为了赶上之前的差距,去掉了1582年10月5日-14日这10天。而且儒略历早期和现在的月份设计是不同的,现在的月份是屋大维于公元前8年制定的。由于如果考虑格里历之前的立法很麻烦又复杂,不考虑的话计算结果又没有意义,因此限定格里历施行以后到无穷远的未来(未来历法改变的话结果也是没有意义的)
程序分为3个部分:days为主程序,checkrn为判断闰年的函数,可以从儒略历施行(公元前45年)一直到无穷远,考虑到了儒略历和格里历的区别。需要注意的是“当时僧侣错误理解“隔三年设置一闰年”,以致每三年设置了一个闰年。故前45年、前42年、前39年、前36年、前33年、前30年、前27年、前24年、前21年、前18年、前15年、前12年、前9年是闰年,与儒略历实际日期误差有3天。奥古斯都为了纠正了以上闰年过多的错误,故取消前5年、前1年、4年3年的闰年,拟补累积误差的天数。此后按儒略历原来的设计每四年有一次闰年”(摘自维基百科)因此公元前的计算结果基本是无意义的。ifexist为判断日期是否存在的函数,可以从屋大维改变月份设置一直算到无穷远,考虑了格里历和儒略历的区别,同时考虑了施行儒略历时去掉的10天。 |
|