Django模板中如何使用date和time过滤器格式化日期和时间?

2023-04-09 00:00:00 过滤器 格式化 如何使用

在Django模板中,使用date和time过滤器可以很方便地格式化日期和时间。下面是详细的使用方法和代码演示:

  1. date过滤器

date过滤器可以将日期对象格式化成指定的字符串格式。它的语法如下:

{{ date|date:"格式化字符串" }}

其中,date是日期对象,格式化字符串是用来指定日期格式的字符串。

下面是一个例子,展示如何使用date过滤器将日期对象格式化成“年-月-日”格式:

今天是{{ today|date:"Y-m-d" }}

在这个例子里,today是一个日期对象,格式化字符串Y-m-d表示要将日期格式化成“年-月-日”的格式。输出的结果可能是:“今天是2022-10-11”。

  1. time过滤器

time过滤器可以将时间对象格式化成指定的字符串格式。它的语法如下:

{{ time|time:"格式化字符串" }}

其中,time是时间对象,格式化字符串是用来指定时间格式的字符串。

下面是一个例子,展示如何使用time过滤器将时间对象格式化成“小时:分钟:秒”格式:

现在是{{ now|time:"H:i:s" }}点。

在这个例子里,now是一个时间对象,格式化字符串H:i:s表示要将时间格式化成“小时:分钟:秒”的格式。输出的结果可能是:“现在是11:25:50点。”

  1. 完整的示例代码

下面是一个完整的示例代码,演示如何在Django模板中使用date和time过滤器格式化日期和时间:

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>日期和时间格式化示例</title>
</head>
<body>
    {% load humanize %}

    {% with today=date.today %}
        <p>今天是{{ today|date:"Y-m-d" }}</p>
    {% endwith %}

    {% with now=timezone.now %}
        <p>现在是{{ now|time:"H:i:s" }}点。</p>
    {% endwith %}

    <p>本站的域名是<a href="http://pidancode.com">{{ "pidancode.com"|title }}</a></p>
</body>
</html>

在这个示例里,我们使用了Django内置的humanize模板库,以便使用timezone.now获取当前时间。另外,在最后一个p标签里,我们还演示了如何将一个字符串作为过滤器的参数,以便在字符串中使用title方法将其转换成首字母大写的格式。输出的结果可能是:

今天是2022-10-11

现在是11:25:50点。

本站的域名是Pidancode.com。

相关文章