我正在处理自纪元以来的日期,并且已经得到,例如:
date = 6928727.56235
我想将其转换为另一种相对格式,以便能够将其转换为与纪元相关的格式。
使用time.gmtime(date),返回
year=1970, mon=3, day=22, hour=4, min=38, sec=47
我认为纪元从“01/01/1970 00:00:00”开始,因此该方法应该以类似的方式返回相对日期:
'2 months 21 days 04:38:47'
有什么帮助吗?
最佳答案
The method should return the relative date in something like: '2 months 22 days 04:38:47'
您不能那样做,因为一个月的长度在 28 到 31 天之间。 “2 个月又 22 天”这句话可能意味着 81 到 84 天之间的任何时间。 (或者 78 到 84 天之间,如果月份不必连续的话)。
所以你想要的简直是无稽之谈。相对日期时间只能以天、小时和秒计算,直到差异变得如此之大以至于天数不再重要,在这种情况下,您可以开始以月或年计算(但之后您不能包括天数)不再)。
所以你可以说“五年零两个月”,或者“八十天零三个小时”,或者“两百年”。但你不能说“两个月零三天”或“五年零二十天”。这些陈述根本没有意义。
因此,正确答案确实是eumiros
timedelta(seconds=6928727.56235)
但现在你也知道为什么了。
(当然,除非你说的月份实际上是指月亮周期,确实有固定的长度。:))
关于python - 从纪元到相对日期的秒数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4693915/