Date-fns—如果是当前年份,则省略年份

Nic*_*ick 5 javascript date

使用date-fns 的 format 函数,如果是当前年份,是否可以省略年份?是否有一些格式字符串可以启用此功能?

import { format } from 'date-fns'

const date = new Date('July 4, 2021')

// current year is 2021

format(date, 'format string')
// should output "July 4"

format(date, 'format string')
// should output "July 4, 2020"
Run Code Online (Sandbox Code Playgroud)

如果除了 之外还有另一个 date-fns 函数可以执行此操作format,那也可以。我假设任何此类解决方案都可能会使用该format函数,因为这是格式化日期。

替代解决方案

我知道目前可以使用if语句手动执行此操作。

const date = new Date('July 4, 2021')
if (date.getFullYear() === (new Date()).getFullYear()) {
    format(date, 'MMM d')
} else {
    format(date, 'MMM d, YYY')
}
Run Code Online (Sandbox Code Playgroud)

虽然这有效,但我更好奇是否有一种方法可以使用 date-fns 对其进行本机格式化。