Skip to content

Date Formats

Handle different date formats in the React Calendar component.

TokenDescriptionExample
YYYY4-digit year2024
YY2-digit year24
MMMMFull month nameJanuary
MMMShort month nameJan
MMMonth with zero (01-12)01
MMonth (1-12)1
DDDDFull day nameMonday
DDDShort day nameMon
DDDay with zero (01-31)05
DDay (1-31)5
HHHour 24h with zero (00-23)09
HHour 24h (0-23)9
hhHour 12h with zero (01-12)09
hHour 12h (1-12)9
mmMinutes with zero (00-59)05
mMinutes (0-59)5
ssSeconds with zero (00-59)08
sSeconds (0-59)8
AM/PMUppercase meridiemAM
am/pmLowercase meridiemam
RegionFormatExample
USAMM/DD/YYYY12/31/2024
EuropeDD/MM/YYYY31/12/2024
GermanyDD.MM.YYYY31.12.2024
JapanYYYY/MM/DD2024/12/31
ISOYYYY-MM-DD2024-12-31

The calendar accepts ISO strings, Date objects, and Excel serial numbers:

import React from 'react';
import { Calendar } from '@calendarjs/react';

export default function App() {
    return (
        <div>
            {/* ISO string */}
            <Calendar type="inline" value="2024-01-15" />
            {/* Date object */}
            <Calendar type="inline" value={new Date()} />
            {/* Excel serial */}
            <Calendar type="inline" value={45000} numeric={true} />
        </div>
    );
}

Set how dates display using the format property:

import React, { useRef } from 'react';
import { Calendar } from '@calendarjs/react';

export default function App() {
    const inputRef = useRef();

    return (
        <div>
            <input type="text" ref={inputRef} placeholder="Select date" />
            <Calendar
                input={inputRef}
                format="MM/DD/YYYY HH:mm"
                time={true}
            />
        </div>
    );
}

Use CalendarJS Helpers for format conversion:

import { Helpers } from '@calendarjs/react';

// Date to Excel serial
const serialNumber = Helpers.dateToNum(new Date());

// Excel serial to date
const dateString = Helpers.numToDate(serialNumber);

// Current date formatted
const now = Helpers.now();

// Two-digit padding
const month = Helpers.two(5); // "05"