gpt4 book ai didi

python - 如何在 python 中格式化像 "1 hour ago"这样的 timedelta 以便它是可翻译的

转载 作者:行者123 更新时间:2023-11-28 21:56:27 25 4
gpt4 key购买 nike

我想将 python timedelta 对象格式化为“x 分钟/小时/周/月/年之前”。

我知道有一些类似的问题,比如:

但是,我没有找到适合我的案例的答案,因为

  • 我不使用 django
  • 我需要将 timedelta 格式化为字符串,而不是相反
  • 解决方案应该支持尽可能多的语言,而不仅仅是英语

这是我当前的代码(摘录,抱歉):

delta = babel.dates.format_timedelta(now - dt, format=format,          
locale=locale)
if now > dt:
return _(u"%(timedelta)s ago") % {'timedelta': delta}
else:
return _(u"in %(timedelta)s") % {'timedelta': delta}

关于 babel 函数,参见 http://babel.pocoo.org/docs/dates/#time-delta-formatting

现在这在英语中工作正常。然而,在德语中,它失败了:上面的代码会将 "2 years ago" 翻译成 "vor 2 Jahre" 而不是 "vor 2 Jahren"

我也会对不使用 "... ago" 措辞的解决方案感到满意。只要是相似的、可翻译的,我都可以接受。

最佳答案

根据我找到的文档here ,您应该将 add_direction=True 参数添加到您的 format_timedelta 调用中。

关于python - 如何在 python 中格式化像 "1 hour ago"这样的 timedelta 以便它是可翻译的,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21462005/

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