反向漂亮的日期格式

时间:2011-07-20 17:00:33

标签: python datetime date

有没有办法从

出发

"1 day ago", "1 week ago", "3 hours ago"

到某些日期格式,如“Tue,2011年7月19日10:00:00”使用Python?

3 个答案:

答案 0 :(得分:4)

答案 1 :(得分:1)

pyparsing wiki上的

This example支持这些情况:

today
tomorrow
yesterday
in a couple of days
a couple of days from now
a couple of days from today
in a day
3 days ago
3 days from now
a day ago
in 2 weeks
in 3 days at 5pm
now
10 minutes ago
10 minutes from now
in 10 minutes
in a minute
in a couple of minutes
20 seconds ago
in 30 seconds
20 seconds before noon
20 seconds before noon tomorrow
noon
midnight
noon tomorrow
6am tomorrow
0800 yesterday
12:15 AM today
3pm 2 days from today
a week from today
a week from now
3 weeks ago
noon next Sunday
noon Sunday
noon last Sunday
2pm next Sunday
next Sunday at 2pm

答案 2 :(得分:0)

我不知道是否有可用的库(如果有的话,我确信它们可以在Django源代码中找到 - 听起来像是他们必须考虑的那种问题)。

但是,原则上我没有发现问题太难。首先定义边界。例如:

  • 如果它发生在一天之内,我会说出时间
  • 如果它在六天内发生,我会说出天数
  • 如果它在四周内发生,我会说明周数
  • [等]

然后使用datetime模块(特别是timedelta对象)并根据持续时间过滤掉您的愿望。一个基本版本应该在不到一个小时的时间内运行。

再次 - 我鼓励您寻找已实施的解决方案,但如果您无法找到实现此方法的基本方法,我担心您的Python技能可能缺乏,您可能希望通过重新发明轮子来练习。 / p>