Tarikh

Advanced Formatting

Pattern tokens, digits, relative time, parsing, utilities, and constants.

Pattern Formatting

import { format } from "@coreify/tarikh";

format(new Date(), { pattern: "DD MMM YYYY" });
// -> "31 Mar 2026"

format(new Date(), { pattern: "DD MMMM YYYY", locale: "bn-BD" });
// -> "৩১ মার্চ ২০২৬"

format(new Date(2026, 2, 31, 15, 4, 9), {
  pattern: "ddd, D MMM YYYY HH:mm:ss"
});
// -> "Tue, 31 Mar 2026 15:04:09"

Tokens: dddd, ddd, DD, D, MMMM, MMM, MM, M, YYYY, YY, HH, H, hh, h, mm, m, ss, s, A, a

Wrap literal text in square brackets to keep it untouched by token replacement.

Bangla Digits

import { toBanglaDigits, toEnglishDigits } from "@coreify/tarikh";

toBanglaDigits("31 March 2026");
// -> "৩১ March ২০২৬"

toEnglishDigits("৩১ মার্চ ২০২৬");
// -> "31 মার্চ 2026"

Relative Time

import { fromNow } from "@coreify/tarikh";

fromNow(new Date(Date.now() - 86400000));
// -> "1 day ago"

fromNow(new Date(Date.now() - 86400000), { locale: "bn-BD" });
// -> "১ দিন আগে"

fromNow(new Date(Date.now() - 86400000), { numeric: "auto" });
// -> "yesterday"

Parsing

import { parseDate } from "@coreify/tarikh";

parseDate("৩১ মার্চ ২০২৬");
parseDate("17 Chaitra 1432", { calendar: "bangla" });
parseDate("31 March 2026");
parseDate("2026-03-31T15:30:00Z");

Supported strings include ISO dates, common Gregorian formats, Bangla calendar strings, and a few legacy month spellings.

Utilities

import {
  isToday,
  isYesterday,
  isTomorrow,
  startOfMonth,
  endOfMonth,
  addDays,
  addYears,
  getBanglaMonth
} from "@coreify/tarikh";

isToday(new Date());
isYesterday(addDays(new Date(), -1));
isTomorrow(addDays(new Date(), 1));
startOfMonth(new Date());
endOfMonth(new Date());
addYears(new Date(2024, 1, 29), 1);
getBanglaMonth(3);

Constants

The package also exports the calendar and digit constants used internally, including Bangla month names, weekday names, and digit maps.

On this page