Date

操作不同区域设置中的日期和时间值

配置参数

name string

The name of the helper

Default:
"date"
locales record

The loaded locales

formats record

Custom date formats

Default:
{
  ATOM: "yyyy-MM-dd'T'HH:mm:ssXXX",
  DATE: "yyyy-MM-dd",
  DATETIME: "yyyy-MM-dd HH:mm:ss",
  TIME: "HH:mm:ss",
  HUMAN_DATE: "PPP",
  HUMAN_DATETIME: "PPPppp"
}

Description

此插件注册了 date 过滤器,它允许在不同的区域设置中操作和格式化日期时间值。它在底层使用了 date-fns 库。

<time>{{ createdAt |> date }}</time>

Installation

在你的 _config.ts 文件中导入此插件以使用它:

import lume from "lume/mod.ts";
import date from "lume/plugins/date.ts";

const site = lume();

site.use(date(/* Options */));

export default site;

Formats

默认情况下,该值被格式化为 yyyy-MM-dd,但你可以使用第一个参数来设置不同的格式。有关更多信息,请参阅 date-fns 文档

<time>{{ createdAt |> date('MM/dd/yyyy') }}</time>

有一些预定义的格式可以使用:

名称格式
ATOMyyyy-MM-dd'T'HH:mm:ssxxx
DATEyyyy-MM-dd
DATETIMEyyyy-MM-dd HH:mm:ss
TIMEHH:mm:ss
HUMAN_DATEPPP
HUMAN_DATETIMEPPPppp
<time datetime="{{ createdAt |> date }}">
  {{ createdAt |> date('HUMAN_DATE') }}
</time>

安装插件后,你可以编辑或添加更多命名格式,以便在模板中更轻松地应用它们:

site.use(date({
  formats: {
    "MY_FORMAT": "MM-dd-yyyy",
  },
}));
<time>{{ createdAt |> date('MY_FORMAT') }}</time>

Locales

date-fns 支持 多种区域设置。你可以在 _config.ts 中配置它们,方法是从 npm 导入它们:

import date from "lume/plugins/date.ts";
import { gl } from "npm:date-fns/locale/gl";
import { es } from "npm:date-fns/locale/es";

site.use(date({
  locales: { gl, es },
}));

使用第二个参数来设置区域设置:

<time datetime="{{ createdAt |> date }}">
  {{ createdAt | date("HUMAN_DATE", "gl") }}
</time>

Important

_config.js 中设置的第一个区域设置也被用作默认区域设置。