moment-utils-z
v2.0.0
Published
Collect and make some common functions (moment).
Maintainers
Readme
📖 Description
A small utility library built on top of moment.js that provides:
- Common date/time formats (
FORMATS) - Convert between date and string with custom formats
- Validate, compare, and calculate ranges
- Business helpers (age, working days, fiscal year, etc.)
- Support multiple locales: VN, US, JP, CN, KR
- Unix / ISO / RFC helpers
📦 Install
npm install --save moment-utils-z
# or
yarn add moment-utils-zimport DateUtils, { FORMATS } from "moment-utils-z";
// Convert between formats
const date1 = DateUtils.convert("2022-12-12", FORMATS.DATE_DASH, FORMATS.DATE_COMPACT);
console.log(date1); // "20221212"
const date2 = DateUtils.convert("2022-12-12", "YYYY-MM-DD", "MMM");
console.log(date2); // "Dec"🔧 API Overview
Core
parse(value: string, format: string, isUTC?: boolean): Date | null
format(date: Date, format: string, isUTC?: boolean): string
parseDate(value: string, formats?: string[]): Date | null
convert(value: string, fromFormat: string, toFormat: string, isUTC?: boolean): stringValidation & Compare
isValid(date: unknown): boolean
isSameDay(a: Date, b: Date): boolean
isBefore(a: Date, b: Date): boolean
isAfter(a: Date, b: Date): boolean
isBetween(date: Date, start: Date, end: Date, inclusive?: boolean): booleanRanges
getDayRange(date: Date): { start: Date; end: Date }
getWeekRange(date: Date)
getMonthRange(date: Date)
getQuarterRange(date: Date)
getYearRange(date: Date)Relative
daysAgo(n: number): Date
daysAfter(date: Date, n: number): Date
fromNow(date: Date | string, format?: string): stringBusiness
getAgeFromBirthday(birthday: Date | string, format?: string): number | null
isWeekend(date: Date): boolean
getWorkingDays(start: Date, end: Date): number
getFiscalYear(date: Date, startMonth?: number)Misc
toTimestamp(date: Date): number
fromTimestamp(ts: number): Date
getDayName(date: Date): string
getMonthName(date: Date): string
getWeekNumber(date: Date): number
diffInSeconds/Minutes/Hours/Days/Weeks/Months/Years(a: Date, b: Date): numberHelpers by Format
VN: formatVNDate, parseVNDate, formatVNDateTime, parseVNDateTime, ...
US: formatUSDate, parseUSDate, ...
ISO / Unix / Quarter / Week: formatISO, parseISO, formatUnix, parseUnix, etc.