【发布时间】:2011-06-17 21:36:22
【问题描述】:
是否有“逆转人性化”时代的功能?
例如,给定(字符串):
- '1 分钟前'
- '7 小时前'
- '5 天前'
- '2 个月前'
可以返回(为伪代码道歉):
- datetime.now() - timedelta(1 分钟),准确度(60 秒)
- datetime.now() - timedelta(7 小时),准确度(1 小时)
- datetime.now() - timedelta(5 天),准确度(1 天)
- datetime.now() - timedelta(2 个月),准确度(1 个月)
【问题讨论】:
-
“准确度”是什么意思?请为您提供的示例提供您期望的输出。
-
@RobBednark 你在重提旧问题? :) 准确度 ~= 这个时间段的可能范围。例如。 “两天前”的时间实际上涵盖了 48 小时到 72 小时前的时间段。两天前的直接转换将是 48 小时前的瞬间,但这并不能表示该事件实际上可能发生在此之前的 23 小时 59 分钟,(或者如果人性化时间向上取整,则为 12 小时之后)。因此
convert(humanized_string) 可能会返回[time, accuracy(before, after)],例如convert('two days ago') = [time(48hours), accuracy(-12hours, +24hours)]
标签: python datetime time humanize