【问题标题】:gmail style date formatting in pythonpython中的gmail样式日期格式
【发布时间】:2011-08-02 08:22:26
【问题描述】:

我可以在 python 中用 strftime 格式化日期,但现在我想显示 日期格式相对于当前时间。

即如果日期在今天附近,请及时显示。

如果是在一周内,则显示为昨天等。

如果是在一个月内,则显示为上周或一个月。

如果它比实际值更旧。

我可以用很多 if 来做到这一点,但有没有更简单的方法来做到这一点?还是图书馆?

【问题讨论】:

    标签: python date format


    【解决方案1】:

    那里有is a library

    来自the documentation

    [python]
    >>> from relativeDates import *
    >>> import time
    >>> x = time.time()-1000
    >>> getRelativeTime(x)
    '17 minutes ago'
    >>> x-=12345
    >>> getRelativeTime(x)
    '3 hours ago'
    >>> x+=543211
    >>> getRelativeTime(x)
    'in 6 days'
    >>> getRelativeTime(x,accuracy=2)
    'in 6 days 3 hours'
    >>> x-=987661
    >>> getRelativeTime(x,accuracy=2)
    '5 days 7 hours ago'
    >>> getRelativeTime(x,accuracy=2,alternative_past="long long ago")
    'long long ago'
    >>> getRelativeTimeStr("07/15/06 1823")
    'in 4 days'
    >>> getRelativeTimeStr("07/10/06 1823")
    '7 hours ago'
    >>> getRelativeTimeStr("07/10/06 1823",accuracy=2)
    '7 hours 30 mins ago'
    [/python]
    

    【讨论】:

      【解决方案2】:

      django.contrib.humanize.naturaltime

      对于日期时间值,返回一个表示秒数的字符串, 几分钟或几小时前——如果是,则退回到更长的日期格式 该值超过一天。如果日期时间值在 未来返回值将自动使用适当的短语。

      示例(当“现在”是 2007 年 2 月 17 日 16:30:00 时):

      17 Feb 2007 16:30:00 becomes now.
      17 Feb 2007 16:29:31 becomes 29 seconds ago.
      17 Feb 2007 16:29:00 becomes a minute ago.
      17 Feb 2007 16:25:35 becomes 4 minutes ago.
      17 Feb 2007 15:30:29 becomes an hour ago.
      17 Feb 2007 13:31:29 becomes 2 hours ago.
      16 Feb 2007 13:31:29 becomes 1 day ago.
      17 Feb 2007 16:30:30 becomes 29 seconds from now.
      17 Feb 2007 16:31:00 becomes a minute from now.
      17 Feb 2007 16:34:35 becomes 4 minutes from now.
      17 Feb 2007 16:30:29 becomes an hour from now.
      17 Feb 2007 18:31:29 becomes 2 hours from now.
      18 Feb 2007 16:31:29 becomes 1 day from now.
      

      您可以获取来源here

      【讨论】:

        猜你喜欢
        • 2023-03-26
        • 1970-01-01
        • 1970-01-01
        • 2019-03-07
        • 2012-08-10
        • 1970-01-01
        • 2023-03-12
        • 1970-01-01
        相关资源
        最近更新 更多