# Calendar-time

URL: https://caijiao.org/dayjs/display/calendar-time
Source: docs/dayjs/display/calendar-time.md
Description: 使用 dayjs 的 Calendar-time 方法可显示距离指定时间的相对时间。需依赖 Calendar 插件，可自定义输出格式，如 "今天 2:30" 或 "昨天 2:30" 等，支持不带后缀的值。

日历时间显示了距离给定时间 (默认为现在) 的相对时间，但与 `dayjs#fromnow` 略有不同。

:::tip
这依赖 [Calendar](/dayjs/plugin/calendar) 插件，才能正常运行
:::

```javascript
dayjs.extend(calendar);

dayjs().calendar();
dayjs().calendar(dayjs("2008-01-01"));
```

<table>
<thead>
<tr><th>键值</th><th>值</th></tr>
</thead>
<tbody>
<tr><td>上个星期 (lastWeek)</td><td>上星期一 2:30</td></tr>
<tr><td>前一天 (lastDay)</td><td>昨天 2:30</td></tr>
<tr><td>同一天 (sameDay)</td><td>今天 2:30</td></tr>
<tr><td>下一天  (nextDay)</td><td>明天 2:30</td></tr>
<tr><td>下个星期 (nextWeek)</td><td>星期日 2:30</td></tr>
<tr><td>其他 (sameElse)</td><td>7/10/2011</td></tr>
</tbody>
</table>

表格里的值是由语言配置决定的，并且 [可以自定义输出内容](/dayjs/customization/calendar)。

您也可以通过第二个参数传入指定日历输出格式。

将字符放在方括号中，即可原样返回而不被格式化替换 (例如， [Today])。

如果传入 true，则可以获得不带后缀的值。

```javascript
dayjs().calendar(null, {
  sameDay: "[Today at] h:mm A", // The same day ( Today at 2:30 AM )
  nextDay: "[Tomorrow]", // The next day ( Tomorrow at 2:30 AM )
  nextWeek: "dddd", // The next week ( Sunday at 2:30 AM )
  lastDay: "[Yesterday]", // The day before ( Yesterday at 2:30 AM )
  lastWeek: "[Last] dddd", // Last week ( Last Monday at 2:30 AM )
  sameElse: "DD/MM/YYYY", // Everything else ( 7/10/2011 )
});
```
