【发布时间】:2017-05-24 22:02:10
【问题描述】:
我必须将 ls 的 rsync 返回的日期和时间转换为 time.time() 返回的 Unix 纪元时间浮点数。
对我来说,此时此刻它看起来像: 2017 年 5 月 24 日 hh:mm:ss。 但据我所知,由于 rsync 使用 ssh 和本机 ls,它可能因机器而异,我希望通过它。
是否有任何简单的方法可以将最常见的人类可读日期和时间普遍转换回 Unix 时间浮点数? 要清楚。我希望能够将 D 和 T 的任何文本表示形式转换为浮点数。
如果 datetime 可以做到这一点,我目前无法找到。
【问题讨论】:
-
对于
ls,您可以使用ls -l '--time-style=+%s'指定时间的格式。它实际上 不 依赖于发行版,而是更多地依赖于locale:关于如何表示时间/日期的文化设置。例如,我认为在以色列配置的机器可能会使用犹太年。 -
嗯,是的,我确信 ls 尊重本地设置,这对我一点帮助都没有。特别是当我使用 rsync 来访问 ls 时。我会看看我是否可以从那里影响时间输出格式,但我对此表示怀疑。我可能最终会直接使用 ssh 来获取文件的统计信息,但很高兴知道 Python 是否可以进行转换。它会大大简化一些事情。