show me the date. when was it. how long ago.
~800b gzip. zero dependencies. 200+ locales — for free.
No locale files to import. No plugins to register. No config.
import { anydate, anywhen, anyago } from "anywhen";
anydate(date, "en"); // "Feb 5, 2016"
anywhen(date, "en"); // "yesterday, 2:35 PM"
anyago(date, "en"); // "3 hours ago"
anydate(date, "de"); // "5. Feb. 2016"
anywhen(date, "fr"); // "hier, 14:35"
anyago(date, "tr"); // "3 saat önce"npm install anywhenAlways absolute. Pass any Intl.DateTimeFormat options.
anydate(date, "en"); // "Feb 5, 2016"
anydate(date, "en", { hour: "2-digit", minute: "2-digit" }); // "2:35 PM"
anydate(date, "en", {
weekday: "long",
month: "long",
day: "numeric",
year: "numeric",
}); // "Friday, February 5, 2016"
anydate(date, "en", { month: "long", year: "numeric" }); // "February 2016"
anydate(date, "de"); // "5. Feb. 2016"
anydate(date, "ja"); // "2016年2月5日"
anydate(date, "ar"); // "٥ فبراير ٢٠١٦"Smart context — picks the right format automatically. Covers past and future.
anywhen(date, "en"); // "just now"
anywhen(date, "en"); // "10 minutes ago"
anywhen(date, "en"); // "today, 2:35 PM"
anywhen(date, "en"); // "yesterday, 9:00 AM"
anywhen(date, "de"); // "Mittwoch, 11:20"
anywhen(date, "en"); // "Feb 5, 2016"
anywhen(date, "en"); // "in 2 weeks"
anywhen(date, "ru"); // "через 3 месяца"
anywhen(date, "en", false); // "yesterday" — no clockAlways relative. Past and future.
anyago(date, "en"); // "3 hours ago"
anyago(date, "en"); // "yesterday"
anyago(date, "en"); // "in 2 weeks"
anyago(date, "de"); // "vor 3 Stunden"
anyago(date, "fr"); // "il y a 3 heures"
anyago(date, "tr"); // "3 saat önce"
anyago(date, "ru"); // "3 часа назад"
anyago(date, "en", true); // "1 day ago" instead of "yesterday"One locale across all calls.
import { anywhere } from "anywhen";
const t = anywhere("de");
t.anydate(date); // "5. Feb. 2016"
t.anydate(date, {
weekday: "long",
month: "long",
day: "numeric",
year: "numeric",
}); // "Freitag, 5. Februar 2016"
t.anywhen(date); // "gestern, 14:35"
t.anyago(date); // "vor 3 Stunden"| anywhen | dayjs | date-fns | |
|---|---|---|---|
| gzip | ~800b | ~7kb | ~20kb |
| locale data bundled | no | yes | yes |
| locales | 200+ | 140 | 100 |
| dependencies | 0 | 0 | 0 |
Every function accepts Date, unix timestamp, or ISO string.
anydate(new Date(), "en");
anydate(Date.now(), "en");
anydate("2016-02-05T14:00:00Z", "en");Node.js 13+ · Chrome 71+ · Firefox 65+ · Safari 14+ · Edge Runtime