我目前正在项目中使用时刻进行时间处理,我们的一项常见任务是将时间从 UTC 转换为火星太阳时,然后毫不费力地再转换回来。 起初我以为定义一个时刻时区会很好地处理这个问题,但这不仅仅是一个固定的偏移量——火星上的天数更长:24h 37m 22.663s。 另一件事是,通常,火星任务从固定日期(通常是任务登陆火星时)开始记录在 sols(火星太阳日)中。 所以 Sol 1 将是任务登陆火星的太阳日。 我们可以将这个时间(对于任何特定任务)称为火星任务时间。 每个任务,可以提供对应于 Sol 1 开始的 UTC 时间。
我试图弄清楚如何延长时间以允许 UTC -> 火星太阳时间 -> 火星任务时间转换,反之亦然。 同样,我希望能够使用 moment.format 来格式化火星任务时间中的日期,但恐怕它无法正确处理一天中额外的 37 分钟(会吗?)
看起来我可以使用自定义时区来实现这一点,但我不确定这将如何处理更长的火星日。 您能给我的任何关于从哪里开始实施这一点的指示将不胜感激。
一些背景信息: http :
如果这不是提出此类问题的合适地点,请告诉我应该将其引导到哪里。
此外 - 时区对此无济于事。 时区会将当地时间调整为与 UTC 的偏移量,但它们不允许将计时系统从 UTC 更改为 TAI、UT1 或火星时间。 :)
所以,这不是玩笑,火星计时实际上是被要求的 :man_facepalming:?
http://junior-senior689.blogspot.com/2009/08
......在火星上,我们可以在 11(火星)岁的时候喝酒......
最有用的评论
Moment 确实允许插件,这些
您还可以使用 Mars24 时钟参考美国宇航局关于火星时间的页面,它将火星太阳日分为 24 个“火星小时”,由 60 个“火星分钟”组成,每个“火星分钟”有 60 个“火星秒”——基本上重新定义了秒不再近似于 SI 秒。 这暂时肯定是具有挑战性的。
由于超出范围而关闭。 但祝你好运!