将日期转换为儒略数
Converting a date to its Julian number
我想计算两个日期之间的差值,时间和秒,我至少知道日期将其转换为两个儒略数并减去它是一种有效的方法。我正在尝试实现这个算法。以下是我今天的实现,即12-2-2015
function g(y,m,d)
m = (m + 9) % 12
y = y - m/10
return 365*y + y/4 - y/100 + y/400 + (m*306 + 5)/10 + ( d - 1 )
function g(2015,12,22)
[9] m = (12 + 9) % 12
[2014.1] y = 2015 - 9/10
735146.5 + 503.525 + 20.141 + 5.03525 + 275.9 + 21
=**735954.10125**
然而,从这个在线计算工具中,正确的值是:2457378.877
。
我做错了什么?
您的基本问题是,您使用的算法在1AD开始时的值为1。儒略历始于公元前4713年。
出于你的目的,这可能无关紧要,(但这会让你更难在网上查看)。Excel擅长比较20世纪初以后的时间点。如果你真的想转换为儒略日期,你需要搜索算法。例如:https://gist.github.com/jiffyclub/1294443是python中合适的代码-您需要转换为您选择的语言
相关文章:
- JNI 日期值转换问题,在C++中获取不同的长整型值
- 如何将我的每个矢量字符串转换为纪元时间日期
- 将 unix 时间戳转换为人类可读的日期
- 无法在初始化时将"日期"转换为"int"作为错误
- 使用 C++将时间戳转换为格式化的日期时间
- 将日期字符串转换为 unix 时间戳
- 如何在 C/Android NDK 中将字符串日期转换为毫秒
- 将 OLE 自动化日期 (OADate) 双精度转换为结构 tm,而不使用 VariantTime到SystemTime
- 如何将时间和日期转换为 C 或 C++ 的句子格式?
- 在 c++ 中将 ISO 日期时间转换为本地日期时间并提取时间
- time_t提高日期转换,给出不正确的结果
- 将人类可读日期转换为毫秒,然后再转换回来,而不会丢失信息
- 将字符串中的日期转换为FILETIME
- Tizen 中的 UNIX 日期转换
- 在 C++ 中以毫秒为单位将日期转换为时间
- 将日期转换为儒略数
- 将格式为20160120的日期转换为自epoch以来的天数
- 将有符号整数日期转换为Unix秒
- 如何在c++中将Windows日期转换为Unix时间
- 在c++中将dd/mm/yyyy格式的日期转换为时间戳(从01/01/1970开始的秒数)