来自:“1 小时前”,至:timedelta +准确性
有没有‘逆转人性化’时代的功能?
例如,给定(字符串):
- “1 分钟前”
- “7 小时前”
- “5 天前”
- “2 个月前”
可以返回(对伪代码表示歉意):
- datetime.now() - timedelta(1 分钟) ,精度(60 秒)
- datetime.now() - timedelta(7 小时),精度(1 小时)
- datetime.now() - timedelta(5 天),精度(1 天)
- datetime.now() - timedelta(2 个月) )、准确度(1个月)
Is there a function to 'reverse humanize' times?
For example, given (strings):
- '1 minute ago'
- '7 hours ago'
- '5 days ago'
- '2 months ago'
Could return (apologies for the pseudo-code):
- datetime.now() - timedelta (1 minute), accuracy (60 seconds)
- datetime.now() - timedelta (7 hours), accuracy (1 hour)
- datetime.now() - timedelta (5 days), accuracy (1 day)
- datetime.now() - timedelta (2 months), accuracy (1 month)
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(2)
我一直在使用 parsedatetime,它对我来说效果很好。主页列出了它可以处理的一些格式,例如:
我发现的主要缺点是它没有时区意识。
如果它有价值,这里是我使用的包装函数,它总是返回一个 datetime 对象,无论输入字符串是相对的(就像所有示例一样)还是固定的:
I've been using parsedatetime and it's worked rather well for me. The home page lists some formats it can handle, e.g.:
The major downside I've found is that it has no sense of timezones.
In case it's worth anything, here's a wrapper function I use, which always returns a
datetime
object regardless of whether the input string is relative (like all your examples) or fixed:您能不能自己编写一个简单的实现,例如:
输入看起来没有变化。
Can you not just write a simple implementation yourself such as:
The input doesn't look that varied.