🗓️
日付の範囲を表示するには little-date が便利そう
はじめに
little-date
は日付の範囲を短く、読みやすい形式でフォーマットするライブラリです。Vercel
から出てて、date-fns
をベースにしています。また、ローカライゼーションにも対応してて、Node.js
とブラウザのどちらでも使えるようです。
実装
import { formatDateRange } from "little-date";
const from = new Date("2023-01-01T00:00:00.000Z");
const to = new Date("2023-01-12T23:59:59.999Z");
formatDateRange(from, to); // Outputs: "Jan 1 - 12"
formatDateRange
関数にオプションを渡すと、出力をカスタマイズできます。
- 日付の言語
- 時間の表示
-
today
日付の変更(テストに便利) - セパレーターの変更(
Jan 1 - 12
の-
をto
にするなど)
import { formatDateRange } from "little-date";
// ...
formatDateRange(from, to, {
locale: "de-AT", // Overwrite the default locale
includeTime: false, // Prevent time from being displayed
today: new Date(), // Overwrite the default "today" date, useful for testing
separator: "-", // Overwrite the default separator. E.g. from "Jan 1 - 12" to "Jan 1 to 12"
});
little-date
はシンプルである為、カスタマイズのオプションは最小限になっています。その他のオプションが必要な場合は、src/format-date-range.ts
の実装をご自身のリポジトリにコピーして、ニーズに応じて修正することが推奨されています。
表示例
little-date
を使用すると、以下のように日付の範囲を表示できます。
- Jan 1 - 12
- Jan 3 - Apr 20
- January 2023
- Q1 2023
参照
Discussion