【发布时间】:2015-04-16 18:58:44
【问题描述】:
我构建了一个脚本,该脚本获取望远镜观测的日期和时间,并将其转换为带有小数日的日期。该脚本还占用了一半的曝光时间,并将其添加到小数点后,以便我可以得到最准确的天体测量计算。然后将其提交给仅接受年月日观测时间的小行星中心。XXXXX 最精确的 5 位小数点是什么?这是我目前使用的方式,是的,它非常混乱,但它确实让我得到了小数日。有时它会在时间转换中关闭一秒。
expmpc = float.("10")
utcstartmpc = "05:45:19.03"
datempc = "2015-02-14"
ddexposure = expmpc/(60.0*60.0*24.0)
ddexposure = round(ddexposure, 5)
seconds = int(utcstartmpc[6:8]) / 60.0
minutes = (int(utcstartmpc[3:5]) + seconds) / 60
hours = (int(utcstartmpc[:2]) + minutes) / 24
hours = round(hours, 5)
expadd = str(hours + ddexposure)
datempc = datempc.replace("-", " ")
utcmpc = "C%s%s" % (datempc, expadd[1:])
utcmpc = utcmpc.ljust(17, "0")
正如您所看到的,这非常混乱,它涉及对大量数据进行四舍五入,我相信我在四舍五入时会失去准确性。代码的最终结果留下了这样的时间: C2015 02 14.23986
有没有更好的模块?
感谢您的帮助。
【问题讨论】:
-
因为这大约是 astronomy 和亚秒级精度:小行星中心是否期望 Universal Time(天文学中常见)或 UTC(民用计时)的时间?
-
@LukasGraf: UTC is kept within 0.9 seconds from UT1 即,如果您只需要小数点后 5 位可能就可以了(2 月份
DUT1的实际值小于一天的1e-5)。无论如何,The Minor Planet Center expects UTC here
标签: python date decimal astronomy