A comprehensive date utility library with 135+ functions for serious date manipulation in JavaScript and TypeScript applications.
import { parseNaturalLanguage, convertTimezone, generateRecurringDates, getRelativeTime } from '@mfuon2/chrono-utilz';
// Natural language parsing (assuming today is Jan 12, 2025)
parseNaturalLanguage('next Friday'); // β 2025-01-17
parseNaturalLanguage('in 2 weeks'); // β 2025-01-26
parseNaturalLanguage('3 days ago'); // β 2025-01-09
parseNaturalLanguage('tomorrow'); // β 2025-01-13
parseNaturalLanguage('last Monday'); // β 2025-01-06
// Timezone conversion
convertTimezone(new Date('2025-01-12T15:00:00Z'), {
from: 'UTC',
to: 'America/New_York'
}); // β 2025-01-12T10:00:00 (EST)
// Recurring dates
generateRecurringDates(new Date('2025-01-12'), {
pattern: 'weekly',
maxOccurrences: 3
}); // β [2025-01-12, 2025-01-19, 2025-01-26]
// Relative time
getRelativeTime('2025-01-12T15:35:00Z'); // β "2 minutes ago"
getRelativeTime('2025-01-12T16:30:00Z'); // β "in 1 hour"
getRelativeTime('2025-01-10T15:30:00Z'); // β "2 days ago"
getRelativeTime('2025-01-15T15:30:00Z'); // β "in 3 days"
import { getBusinessDays, getFiscalQuarter, generatePayrollPeriods } from '@mfuon2/chrono-utilz';
// Working days calculation
getBusinessDays(startDate, endDate); // β Number of business days
// Fiscal periods
getFiscalQuarter(new Date()); // β Current fiscal quarter info
// Payroll periods
generatePayrollPeriods(2025, 'biweekly'); // β All payroll periods for 2025
import { formatDate, formatDuration, formatLocalized } from '@mfuon2/chrono-utilz';
// Multiple date formats
formatDate(new Date(), 'YYYY-MM-DD'); // β "2025-01-15"
formatDate(new Date(), 'MMM DD, YYYY'); // β "Jan 15, 2025"
// Duration formatting
formatDuration(3661000, 'verbose'); // β "1 hour 1 minute 1 second"
// Localized formatting
formatLocalized(new Date(), 'en-US'); // β US format
formatLocalized(new Date(), 'de-DE'); // β German format
# Using npm
npm install @mfuon2/chrono-utilz
# Using yarn
yarn add @mfuon2/chrono-utilz
# Using pnpm
pnpm add @mfuon2/chrono-utilz
π
Core Operations (45+ functions)
parseDate
, addTime
, subtractTime
, getDateDiff
, isBetweenDates
, startOf
, endOf
, convertTimezone
, parseNaturalLanguage
, generateRecurringDates
πΌ Business Logic (55+ functions)
getBusinessDays
, getFiscalQuarter
, generatePayrollPeriods
, calculateWorkingHours
, generateShiftSchedule
, calculateSLACompliance
, getHolidays
π¨ Formatting & Parsing (35+ functions)
formatDate
, formatDuration
, parseISO
, smartParse
, formatLocalized
, humanizeDuration
For complete function list and examples, visit our documentation site
- Node.js: 14.0.0+
- Browsers: Modern browsers with ES2015 support
- TypeScript: Full type safety included
- Zero dependencies - Lightweight and fast
We welcome contributions! See our Contributing Guide for details.
See our roadmap and upcoming features on the documentation site.
MIT