S or th:python格式的日期时间与“st”“nd”“rd”“th”(英语序数后缀)像PHP的“S”

关于S or th的问题,在st nd rd th中经常遇到, 我想要一个 python datetime 对象输出(并在 django 中使用结果),如下所示:

我想要一个 python datetime 对象输出(并在 django 中使用结果),如下所示:

Thu the 2nd at 4:30

但是我发现在 python 中没有办法输出stndrdth,就像我可以使用 PHP datetime 格式与S字符串(他们称之为“英语序数后缀”)(http://uk.php.net/manual/en/function.date.php)。

在 django / python 中是否有内置的方法来做到这一点?strftime不够好(http://docs.python.org/library/datetime.html#strftime-strptime-behavior)。

Django 有一个过滤器,它做我想要的,但我想要一个函数,而不是一个过滤器,做我想要的。

31

django.utils.dateformat有一个函数format,它接受两个参数,第一个是日期(datetime.date[[ordatetime.datetime]] 实例,其中datetime是 Python 标准库中的模块),第二个是格式字符串,并返回结果格式化的字符串,如果“”的大写-rd 部分

23

不知道内置的,但我用这个...

def ord(n):
    return str(n)+("th" if 4<=n%100<=20 else {1:"st",2:"nd",3:"rd"}.get(n%10, "th"))

以及:

def dtStylish(dt,f):
    return dt.strftime(f).replace("{th}", ord(dt.day))

dtStylish 可以按如下方式调用以获取Thu the 2nd at 4:30。使用{th}放置月份的日期(“% d”python format code

dtStylish(datetime(2019, 5, 2, 16, 30), '%a the {th} at %I:%M')
10

你可以简单地通过使用人性化的图书馆

from django.contrib.humanize.templatetags.humanize import ordinal

然后,您可以只给序数任何整数,即

ordinal(2)will return2nd
6

我刚刚写了一个小函数来解决我自己的代码中的相同问题:

def foo(myDate):
    date_suffix = ["th", "st", "nd", "rd"]
    if myDate % 10 in [1, 2, 3] and myDate not in [11, 12, 13]:
        return date_suffix[myDate % 10]
    else:
        return date_suffix[0]

本站系公益性非盈利分享网址,本文来自用户投稿,不代表码文网立场,如若转载,请注明出处

(546)
Apk提取:如何从PC中提取apk文件 (apk extractor windows)
上一篇
国外动态vps:首次配置 VPS(vps configuration)
下一篇

相关推荐

  • python浅拷贝和深拷贝区别、原理与实现

    示例示例Python中的浅拷贝和深拷贝是指在复制对象时,复制的结果和原来的对象之间的关系。浅拷贝:浅拷贝只复制一层,也就是说,它只复制最外围的对象,而不复制它包含的对象。如果最外围的对象中包含其他对象,那么这些对象将不会被复制,而是使用原来的对象。…

    2023-05-30 14:25:17
    0 79 79
  • python程序员待遇:Python程序员薪酬最高,收入惊人!

    Python程序员的待遇取决于他们的技能水平和工作经验。一般来说,Python程序员的薪资水平较高,尤其是对于那些有丰富工作经验的Python程序员而言,他们的薪资水平更高。此外,Python程序员还可以获得许多其他福利,包括住房补贴、交通补贴、带薪休假等。…

    2023-06-22 01:21:15
    0 86 45
  • python文本情感分析(含代码示例)

    Python文本情感分析是一种使用自然语言处理技术来分析文本中的情感倾向的过程。它可以帮助我们了解用户对特定主题的看法,从而改善产品和服务。…

    2023-04-23 00:28:07
    0 34 93
  • python字符串拼接数字从零开始

    实例实例Python字符串拼接数字,可以使用format()函数或者%运算符来实现。代码实例:…

    2023-08-20 08:25:28
    0 44 26
  • python中import re:如何使用Python中的re模块进行正则表达式匹配

    import re 是Python中正则表达式模块,可以用来处理字符串。它提供了一系列的函数,可以用来查找、替换和分割字符串,以及检查字符串是否符合特定的格式。…

    2023-05-02 10:25:33
    0 49 52
  • python安装pygame失败:解决python安装pygame失败的方法

    Python安装pygame失败的原因可能有很多,下面是一些常见的原因:安装环境不兼容:pygame只支持python2.7以上版本,而您可能安装的是python3.x或更低版本。…

    2023-04-15 03:55:19
    0 91 16
  • python是面向Python的优势

    Python是一种面向对象的编程语言,它提供了一种简单而强大的方法来创建可重用的代码。它使用类和对象来实现面向对象编程,允许程序员将代码封装在类中,以便在不同的程序中重复使用。…

    2023-05-02 04:34:35
    0 50 60
  • python程序包:如何使用Python程序包构建高效的应用程序

    Python程序包是一种用于组织Python模块的形式,它允许程序员将相关的模块组合在一起,以便更轻松地管理和使用它们。Python程序包可以包含函数、类、变量和其他Python代码,以帮助简化程序的开发。…

    2024-03-20 06:08:18
    0 92 88

发表评论

登录 后才能评论

评论列表(28条)