gpt4 book ai didi

python - 从 : "1 hour ago", 到:timedelta + accuracy

转载 作者:太空宇宙 更新时间:2023-11-03 11:35:29 25 4
gpt4 key购买 nike

是否有“逆转人性化”时间的功能?

例如,给定(字符串):

  • '1 分钟前'
  • “7 小时前”
  • '5 天前'
  • '2 个月前'

可以返回(为伪代码道歉):

  • datetime.now() - timedelta(1 分钟),准确度(60 秒)
  • datetime.now() - timedelta(7 小时),准确度(1 小时)
  • datetime.now() - timedelta(5 天),准确性(1 天)
  • datetime.now() - timedelta(2 个月),准确性(1 个月)

最佳答案

我一直在使用 parsedatetime它对我来说效果很好。主页列出了它可以处理的一些格式,例如:

  • 5 分钟内
  • 5 分钟后
  • 中午前 2 小时
  • 从明天开始 2 天

我发现的主要缺点是它没有时区感。

以防万一,这是我使用的包装函数,它总是返回一个 datetime 对象,无论输入字符串是相对的(就像您所有的示例一样)还是固定的:

def parse_datetime(datetime_string):
datetime_parser = parsedatetime.Calendar(parsedatetime_consts.Constants())
timestamp = datetime_parser.parse(datetime_string)
if len(timestamp) == 2:
if timestamp[1] == 0:
raise ValueError(u'Failed to parse datetime: %s' % datetime_string)
timestamp = timestamp[0]
return datetime.fromtimestamp(time.mktime(timestamp))

关于python - 从 : "1 hour ago", 到:timedelta + accuracy,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4839642/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com