tob*_*bib 5 python datetime internationalization
我想将 python timedelta 对象格式化为“x 分钟/小时/周/月/年前”。
我知道有一些类似的问题,例如:
但是,我没有找到适合我的情况的答案,因为
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}
Run Code Online (Sandbox Code Playgroud)
函数babel
见http://babel.pocoo.org/docs/dates/#time-delta-formatting
现在这在英语中效果很好。然而,在德语中,它失败了:上面的代码将转换"2 years ago"
为"vor 2 Jahre"
而不是"vor 2 Jahren"
.
我也很高兴有一个不使用"... ago"
措辞的解决方案。只要是相似且可翻译的我都可以接受。