# Feature catalog — iamkun/dayjs

> Canonical page: https://codevetter.com/unpack/dayjs/feature-catalog

# Feature catalog — iamkun/dayjs

Scanned commit 436bde0bcded312781cbe45dc2b0ef079a36d8e3 (2026-09-15). Generated by codevetter codevetter 1.15.0 on 2026-10-02.

Source inspection; upstream code and tests were not executed.

The public surface centers on parsing, immutable manipulation, comparison, formatting, and serialization. Optional modules broaden input types, calendar calculations, translated output, timezone handling, and duration arithmetic. Compatibility plugins add aliases or deliberately change mutation behavior. The following eight groups cover the inspected core and plugin APIs; these are library capabilities rather than application screens or routes.
- Core APIs construct and validate dates, clone, get/set calendar fields, add/subtract units, compute boundaries and differences, compare dates, count month days, and output formatted strings, epoch values, native Dates, JSON, ISO, and UTC strings. — [src/index.js#L39-L48](https://github.com/iamkun/dayjs/blob/436bde0bcded312781cbe45dc2b0ef079a36d8e3/src/index.js#L39-L48) [src/index.js#L115-L144](https://github.com/iamkun/dayjs/blob/436bde0bcded312781cbe45dc2b0ef079a36d8e3/src/index.js#L115-L144) [src/index.js#L146-L259](https://github.com/iamkun/dayjs/blob/436bde0bcded312781cbe45dc2b0ef079a36d8e3/src/index.js#L146-L259) [src/index.js#L350-L427](https://github.com/iamkun/dayjs/blob/436bde0bcded312781cbe45dc2b0ef079a36d8e3/src/index.js#L350-L427)
- customParseFormat accepts format strings, ordered format alternatives, locale arguments, strict round-trip validation, and a configurable two-digit-year parser; arraySupport, objectSupport, bigIntSupport, and negativeYear adapt additional inputs. — [src/plugin/customParseFormat/index.js#L217-L268](https://github.com/iamkun/dayjs/blob/436bde0bcded312781cbe45dc2b0ef079a36d8e3/src/plugin/customParseFormat/index.js#L217-L268) [src/plugin/arraySupport/index.js#L3-L23](https://github.com/iamkun/dayjs/blob/436bde0bcded312781cbe45dc2b0ef079a36d8e3/src/plugin/arraySupport/index.js#L3-L23) [src/plugin/objectSupport/index.js#L9-L38](https://github.com/iamkun/dayjs/blob/436bde0bcded312781cbe45dc2b0ef079a36d8e3/src/plugin/objectSupport/index.js#L9-L38) [src/plugin/bigIntSupport/index.js#L5-L23](https://github.com/iamkun/dayjs/blob/436bde0bcded312781cbe45dc2b0ef079a36d8e3/src/plugin/bigIntSupport/index.js#L5-L23) [src/plugin/negativeYear/index.js#L4-L26](https://github.com/iamkun/dayjs/blob/436bde0bcded312781cbe45dc2b0ef079a36d8e3/src/plugin/negativeYear/index.js#L4-L26)
- Formatting supports bracket literals and locale names; advancedFormat adds quarter, ordinal, week/year, timestamp, 24-hour, and zone-name tokens, localizedFormat expands L/LT families, and buddhistEra adds BB/BBBB with a 543-year bias. — [src/index.js#L262-L341](https://github.com/iamkun/dayjs/blob/436bde0bcded312781cbe45dc2b0ef079a36d8e3/src/index.js#L262-L341) [src/plugin/advancedFormat/index.js#L15-L48](https://github.com/iamkun/dayjs/blob/436bde0bcded312781cbe45dc2b0ef079a36d8e3/src/plugin/advancedFormat/index.js#L15-L48) [src/plugin/localizedFormat/index.js#L4-L13](https://github.com/iamkun/dayjs/blob/436bde0bcded312781cbe45dc2b0ef079a36d8e3/src/plugin/localizedFormat/index.js#L4-L13) [src/plugin/buddhistEra/index.js#L7-L15](https://github.com/iamkun/dayjs/blob/436bde0bcded312781cbe45dc2b0ef079a36d8e3/src/plugin/buddhistEra/index.js#L7-L15)
- Locales can be selected globally or per instance; localeData exposes month/weekday lists and rules, updateLocale merges configuration, preParsePostFormat transforms input/output, relativeTime adds from/to/fromNow/toNow, and calendar chooses contextual date labels. — [src/index.js#L14-L36](https://github.com/iamkun/dayjs/blob/436bde0bcded312781cbe45dc2b0ef079a36d8e3/src/index.js#L14-L36) [src/index.js#L395-L404](https://github.com/iamkun/dayjs/blob/436bde0bcded312781cbe45dc2b0ef079a36d8e3/src/index.js#L395-L404) [src/plugin/localeData/index.js#L19-L63](https://github.com/iamkun/dayjs/blob/436bde0bcded312781cbe45dc2b0ef079a36d8e3/src/plugin/localeData/index.js#L19-L63) [src/plugin/updateLocale/index.js#L2-L18](https://github.com/iamkun/dayjs/blob/436bde0bcded312781cbe45dc2b0ef079a36d8e3/src/plugin/updateLocale/index.js#L2-L18) [src/plugin/preParsePostFormat/index.js#L3-L45](https://github.com/iamkun/dayjs/blob/436bde0bcded312781cbe45dc2b0ef079a36d8e3/src/plugin/preParsePostFormat/index.js#L3-L45) [src/plugin/relativeTime/index.js#L77-L90](https://github.com/iamkun/dayjs/blob/436bde0bcded312781cbe45dc2b0ef079a36d8e3/src/plugin/relativeTime/index.js#L77-L90) [src/plugin/calendar/index.js#L13-L30](https://github.com/iamkun/dayjs/blob/436bde0bcded312781cbe45dc2b0ef079a36d8e3/src/plugin/calendar/index.js#L13-L30)
- Calendar plugins provide dayOfYear, quarter getters/setters and arithmetic, locale-relative weekday/week/weekYear, ISO weekday/week/weekYear and boundaries, leap-year detection, and ISO weeks-in-year counting; several call companion plugin methods. — [src/plugin/dayOfYear/index.js#L3-L6](https://github.com/iamkun/dayjs/blob/436bde0bcded312781cbe45dc2b0ef079a36d8e3/src/plugin/dayOfYear/index.js#L3-L6) [src/plugin/quarterOfYear/index.js#L5-L33](https://github.com/iamkun/dayjs/blob/436bde0bcded312781cbe45dc2b0ef079a36d8e3/src/plugin/quarterOfYear/index.js#L5-L33) [src/plugin/weekday/index.js#L3-L10](https://github.com/iamkun/dayjs/blob/436bde0bcded312781cbe45dc2b0ef079a36d8e3/src/plugin/weekday/index.js#L3-L10) [src/plugin/weekOfYear/index.js#L5-L28](https://github.com/iamkun/dayjs/blob/436bde0bcded312781cbe45dc2b0ef079a36d8e3/src/plugin/weekOfYear/index.js#L5-L28) [src/plugin/weekYear/index.js#L3-L13](https://github.com/iamkun/dayjs/blob/436bde0bcded312781cbe45dc2b0ef079a36d8e3/src/plugin/weekYear/index.js#L3-L13) [src/plugin/isoWeek/index.js#L19-L49](https://github.com/iamkun/dayjs/blob/436bde0bcded312781cbe45dc2b0ef079a36d8e3/src/plugin/isoWeek/index.js#L19-L49) [src/plugin/isLeapYear/index.js#L3-L4](https://github.com/iamkun/dayjs/blob/436bde0bcded312781cbe45dc2b0ef079a36d8e3/src/plugin/isLeapYear/index.js#L3-L4) [src/plugin/isoWeeksInYear/index.js#L3-L10](https://github.com/iamkun/dayjs/blob/436bde0bcded312781cbe45dc2b0ef079a36d8e3/src/plugin/isoWeeksInYear/index.js#L3-L10)
- Query plugins add inclusive comparisons, isBetween with configurable endpoint inclusion and reversed-bound support, isToday/isTomorrow/isYesterday by formatted calendar date, and min/max selection that propagates encountered invalid dates. — [src/plugin/isSameOrAfter/index.js#L1-L5](https://github.com/iamkun/dayjs/blob/436bde0bcded312781cbe45dc2b0ef079a36d8e3/src/plugin/isSameOrAfter/index.js#L1-L5) [src/plugin/isSameOrBefore/index.js#L1-L5](https://github.com/iamkun/dayjs/blob/436bde0bcded312781cbe45dc2b0ef079a36d8e3/src/plugin/isSameOrBefore/index.js#L1-L5) [src/plugin/isBetween/index.js#L2-L12](https://github.com/iamkun/dayjs/blob/436bde0bcded312781cbe45dc2b0ef079a36d8e3/src/plugin/isBetween/index.js#L2-L12) [src/plugin/isToday/index.js#L3-L7](https://github.com/iamkun/dayjs/blob/436bde0bcded312781cbe45dc2b0ef079a36d8e3/src/plugin/isToday/index.js#L3-L7) [src/plugin/isTomorrow/index.js#L3-L9](https://github.com/iamkun/dayjs/blob/436bde0bcded312781cbe45dc2b0ef079a36d8e3/src/plugin/isTomorrow/index.js#L3-L9) [src/plugin/isYesterday/index.js#L3-L9](https://github.com/iamkun/dayjs/blob/436bde0bcded312781cbe45dc2b0ef079a36d8e3/src/plugin/isYesterday/index.js#L3-L9) [src/plugin/minMax/index.js#L2-L31](https://github.com/iamkun/dayjs/blob/436bde0bcded312781cbe45dc2b0ef079a36d8e3/src/plugin/minMax/index.js#L2-L31)
- utc adds UTC construction, local/UTC conversion, explicit offsets, and isUTC; timezone adds named-zone construction/conversion, keepLocalTime, offsetName, host-zone guessing, and a default zone for tz calls. — [src/plugin/utc/index.js#L24-L40](https://github.com/iamkun/dayjs/blob/436bde0bcded312781cbe45dc2b0ef079a36d8e3/src/plugin/utc/index.js#L24-L40) [src/plugin/utc/index.js#L71-L109](https://github.com/iamkun/dayjs/blob/436bde0bcded312781cbe45dc2b0ef079a36d8e3/src/plugin/utc/index.js#L71-L109) [src/plugin/utc/index.js#L125-L131](https://github.com/iamkun/dayjs/blob/436bde0bcded312781cbe45dc2b0ef079a36d8e3/src/plugin/utc/index.js#L125-L131) [src/plugin/timezone/index.js#L95-L121](https://github.com/iamkun/dayjs/blob/436bde0bcded312781cbe45dc2b0ef079a36d8e3/src/plugin/timezone/index.js#L95-L121) [src/plugin/timezone/index.js#L135-L160](https://github.com/iamkun/dayjs/blob/436bde0bcded312781cbe45dc2b0ef079a36d8e3/src/plugin/timezone/index.js#L135-L160)
- duration supplies numeric/object/ISO duration inputs, component and total-unit getters, arithmetic, formatting, serialization, humanization, and date arithmetic; toArray/toObject export fields, pluralGetSet adds aliases, isMoment aliases isDayjs, badMutable enables mutation, and devHelper emits development diagnostics. — [src/plugin/duration/index.js#L60-L107](https://github.com/iamkun/dayjs/blob/436bde0bcded312781cbe45dc2b0ef079a36d8e3/src/plugin/duration/index.js#L60-L107) [src/plugin/duration/index.js#L188-L257](https://github.com/iamkun/dayjs/blob/436bde0bcded312781cbe45dc2b0ef079a36d8e3/src/plugin/duration/index.js#L188-L257) [src/plugin/duration/index.js#L261-L295](https://github.com/iamkun/dayjs/blob/436bde0bcded312781cbe45dc2b0ef079a36d8e3/src/plugin/duration/index.js#L261-L295) [src/plugin/toArray/index.js#L3-L12](https://github.com/iamkun/dayjs/blob/436bde0bcded312781cbe45dc2b0ef079a36d8e3/src/plugin/toArray/index.js#L3-L12) [src/plugin/toObject/index.js#L3-L12](https://github.com/iamkun/dayjs/blob/436bde0bcded312781cbe45dc2b0ef079a36d8e3/src/plugin/toObject/index.js#L3-L12) [src/plugin/pluralGetSet/index.js#L4-L19](https://github.com/iamkun/dayjs/blob/436bde0bcded312781cbe45dc2b0ef079a36d8e3/src/plugin/pluralGetSet/index.js#L4-L19) [src/plugin/isMoment/index.js#L1-L4](https://github.com/iamkun/dayjs/blob/436bde0bcded312781cbe45dc2b0ef079a36d8e3/src/plugin/isMoment/index.js#L1-L4) [src/plugin/badMutable/index.js#L3-L30](https://github.com/iamkun/dayjs/blob/436bde0bcded312781cbe45dc2b0ef079a36d8e3/src/plugin/badMutable/index.js#L3-L30) [src/plugin/devHelper/index.js#L4-L37](https://github.com/iamkun/dayjs/blob/436bde0bcded312781cbe45dc2b0ef079a36d8e3/src/plugin/devHelper/index.js#L4-L37)

Every claim links to its cited files at the pinned commit. Citations identify source evidence; they do not establish runtime correctness. Independent CodeVetter scan — not reviewed by upstream maintainers.

## Public product links

- [CodeVetter](https://codevetter.com/)
- [Download](https://codevetter.com/download)
- [Documentation](https://codevetter.com/docs/)
- [Source](https://github.com/Codevetter/codevetter)
